#[1]pmig96 » Feed [2]pmig96 » Comments Feed [3]pmig96 » Pumpkin OS
Comments Feed [4]alternate [5]alternate [6]pmig96 [7]WordPress.com
[8]Skip to content
[9]pmig96
(BUTTON) Menu
* [10]Home
* [11]Starflight
Pumpkin OS
[12]pmig96 [13]PalmOS, [14]pit 2021-09-082021-09-08 5 Minutes
Pumpkin is the name I have given to my port of PalmOS running on the
x64 architecture. Please refer to [15]this article for basic
information on this project. Also look for other articles in the
[16]PalmOS category for more information and some technical details on
the implementation. This article is about the first Technology Preview
of this project: a functional version of Pumpkin OS running on the
Windows platform. This first release is limited on purpose: just a few
PalmOS applications and nothing much else. This is also a binary only
distribution, but do not worry, full source code will be released in
the future.
What you get
There are three applications included: MemoPad, MineHunt and Vexed.
MineHunt is a standard 68K binary PalmOS PRC distributed with the early
Palm devices. [17]Vexed is a third party freeware that is also a
standard 68K application. If you install them on a real device or on a
traditional emulator (like POSE), they will run normally. MemoPad is a
different story: it was compiled from source code to the native x64
architecture. Although it is apparently also a normal PRC file, it will
only on Pumpkin OS.
This is where Pumpkin is different from emulators: it can also run
native applications at native speed. If you have the source code of a
PalmOS application, you can compile it for Pumpkin OS with minimal
modifications. In either case, you do not need to provide a PalmOS ROM
like in traditional emulators. Pumpkin OS is a re-implementation of
PalmOS, but without using source code from PalmOS. When an application
calls a system trap, Pumpkin OS intercepts the call and runs its own
version of the system call. System resources (forms, menus, fonts,
alerts, bitmaps, strings, etc) are present in BOOT.prc. These resources
were recreated in source form using the RCP format and then compiled
into BOOT.prc using PilRC and build-prc.
What you do not get (yet)
Pumpkin OS will also be capable of running binary applications made
specifically for PalmOS 5, that is, applications that make use of
ARMlets (a.k.a PNOlets). This first release, however, does not offer
this feature. Running ARMlets on this release will lead to undefined
behavior.
Ability to install new applications is also limited at the moment. The
purpose of this preview is not offering a fully featured OS, but to
show some of the core features.
Pumpkin OS will also fully support Linux, but Linux users will have to
wait for a future release to try it on.
Installing and running Pumpkin OS
This release requires a 64-bits Windows running on x64 architecture. I
have tested it on recent releases of Windows 10 Home and Windows 10
Pro. It is quite possible that something breaks on older Windows
versions.
Download the [18]zip file and unpack it on a local folder. From now on,
it is assumed that the installation folder is C:\Pumpkin. To start it
you must run pumpkin.bat. If you want to start Pumpkin OS without a
having an open cmd window, you can double-click pumpkin.vbs. Either
way, this window should pop-up:
The Launcher application is automatically started, and inside it you
can see icons for installed applications. Some quick tips of how to
move around Pumpkin OS: the left mouse button works like tapping on the
screen on a real PalmOS device: left-click on an icon to open the
application, click buttons, open menus, etc. The right button is the
application selection button: right-click on a application window to
select it, and right-click-drag the window to move it around the
workspace. Use the keyboard to send key events to the selected
application. The selected application is identified by a purple border,
and all pen or keyboard events are sent only to the selected
application. Other applications (identified by a gray border) keep
running event if not selected: in Pumpkin OS each application runs on a
separate thread. Currently there is a limitation of running at most one
68K application at a time, but this limitation will probably be relaxed
in the future. To quit the selected application, press the Home key on
the keyboard (quitting the Launcher will finish Pumpkin OS).
Currently Pumpkin OS maps some keys on the host to keys on PalmOS:
F1: vchrHard1
F2: vchrHard2
F3: vchrHard3
F4: vchrHard4
F5: vchrMenu
Up Arrow: vchrPageUp (“up” hard button)
Down Arrow: vchrPageDown (“down” hard button)
Left Arrow: vchrRockerLeft
Right Arrow: vchrRockerRight
Home: vchrLaunch (“home” button)
A word of warning: Pumpkin OS does not yet implement all PalmOS system
traps. You will eventually see messages like these in the
C:\pumpkin\pumpkin.log:
SndPlaySystemSound not implemented
EvtFlushKeyQueue not implemented
Depending on the system trap, there will be no serious side effects.
SndPlaySystemSound is currently not implemented, so the system will not
play a beep tone. Other missing system traps may cause the application
to misbehavior, or even crash. Until the 800+ PalmOS system traps are
fully implemented, expect things to break. MineHunt is fully playable
as far as I can tell (tip: in order to defuse a bomb, press the Up key
on the keyboard and click the tile). Vexed is also playable. MemoPad is
much more complex because it uses more system calls, so expect some
visual/functional quirks.
Some things you could try
Open C:\pumpkin\pumpkin.lua and look at the os.start() call:
os.start(1280, 720, 16, false, false, "Launcher")
As you probably have guessed, the first two parameters are the screen
resolution of the workplace. You could try other resolutions. The third
parameter is the screen depth. Everything is tuned to work at 16 bpp,
so I do not recommend changing this. The next parameter is a fullscreen
flag. Try changing it to true and starting again to fill your whole
desktop with Pumpkin OS! If the next parameter is true, Pumpkin OS will
start with a dynamic input area for text entry, mimicking the
appearance and behavior of PalmOS. If you do this, the screen
resolution parameters will be ignored and 320×480 will be assumed. In
this mode, at most one applications can be started. Currently only
Launcher itself responds to the dynamic input area being collapsed. The
last parameter is the name of the application to launch on startup. It
really only makes sense to use “Launcher”, otherwise you would not be
able to start other applications.
Pumpkin OS with a dynamic input area
The Launcher application has a “Test” menu where various PalmOS UI
dialogs can be tested. Changing settings here does not affect anything
in the OS, the dialogs are there simply for testing UI components. Some
dialogs are only partially implemented and may cause small glitches on
the screen.
Final words
Inside C:\pumpkin\licenses you will find the licenses for various
components used by this Technology Preview of Pumpkin OS. As far as I
can tell, all of them allow for a binary-only distribution. If you
believe something is not handled properly, please let me know. Anyway,
in the future the full source code will be released. I just wanted to
offer a preview while I am still finishing up the code.
A note about the C:\pumpkin\vfs folder: this is where all files and
resources are stored. If you want to start from scratch, remove
everything from C:\pumpkin\vfs\app_storage (but leave the folder).
Other than that, I do not recommend changing things manually inside
app_storage. The C:\pumpkin\vfs\app_card folder simulates an external
SD card present on a real PalmOS device. The C:\pumpkin\vfs\app_install
folder is where new PRC files must be manually placed. The next time
Pumpkin OS starts, these PRCs will be extracted into app_storage.
Again, please keep in mind there is a great chance of untested
applications causing visual glitches or crashing Pumpkin OS, since
dozens of system traps are not implemented and others are only
partially implemented.
Share this:
* [19]Twitter
* [20]Facebook
*
Like this:
Like Loading...
Related
Published 2021-09-082021-09-08
Post navigation
[21]Previous Post Menagerie (part 4)
6 thoughts on “Pumpkin OS”
1. Pingback: [22]Pumpkin OS: x64 port/re-implementation of PalmOS -
The web development company
2. Pingback: [23]Palm OS ported to x86-64 – OSnews - news window
3. Pingback: [24]Pumpkin OS: Palm OS ported to x86-64 – OSnews
4.
[25]pmig96 says:
[26]2021-09-08 at 20:30
A first release on Windows only makes it easier on the logistics
side. But fear not, it already runs nicely on Linux.
[27]LikeLike
5.
[28]jirkasnotes says:
[29]2021-09-08 at 20:26
Great work! But I must find a Windows computer first. 😦 Hope your
will release a Linux port soon…
[30]LikeLike
6.
samuelp says:
[31]2021-09-08 at 12:31
Works well enough to play a level of bike or die! Very impressive
that you’ve made it this far. I hope to learn a lot once the source
comes out one day. Shared this on the PalmDB discord — you should
come and say hi some time 😀
[32]LikeLike
Leave a Reply [33]Cancel reply
Enter your comment here...
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
Fill in your details below or click an icon to log in:
*
*
*
IFRAME: [34]googleplus-sign-in
*
*
[35]Gravatar
Email (Address never made public)
____________________
Name
____________________
Website
____________________
WordPress.com Logo
You are commenting using your WordPress.com account. ( [36]Log Out /
[37]Change )
Google photo
You are commenting using your Google account. ( [38]Log Out /
[39]Change )
Twitter picture
You are commenting using your Twitter account. ( [40]Log Out /
[41]Change )
Facebook photo
You are commenting using your Facebook account. ( [42]Log Out /
[43]Change )
[44]Cancel
Connecting to %s
[ ] Notify me of new comments via email.
[ ] Notify me of new posts via email.
Post Comment
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
_____________________________________________
Categories
* [45]CP/M (1)
* [46]Multimedia (2)
* [47]Mysteries (1)
* [48]PalmOS (14)
* [49]pit (11)
* [50]Puzzle (4)
* [51]Retrocomputing (12)
* [52]Uncategorized (1)
* [53]Z80 (10)
Archives
* [54]September 2021 (1)
* [55]May 2021 (7)
* [56]April 2021 (2)
* [57]March 2021 (7)
* [58]February 2021 (1)
* [59]September 2020 (2)
* [60]August 2020 (5)
* [61]July 2020 (7)
* [62]June 2020 (1)
* [63]December 2019 (4)
* [64]November 2019 (4)
[65]Create a website or blog at WordPress.com
Loading Comments...
Write a Comment...
____________________________________________________________
____________________________________________________________
____________________________________________________________
____________________________________________________________
Email ____________________
Name ____________________
Website ____________________
Post Comment
Close and accept Privacy & Cookies: This site uses cookies. By
continuing to use this website, you agree to their use.
To find out more, including how to control cookies, see here:
[66]Cookie Policy
IFRAME: [67]likes-master
%d bloggers like this:
References
Visible links
1.
https://pmig96.wordpress.com/feed/
2.
https://pmig96.wordpress.com/comments/feed/
3.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/feed/
4.
https://public-api.wordpress.com/oembed/?format=json&url=
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/&for=wpcom-auto-discovery
5.
https://public-api.wordpress.com/oembed/?format=xml&url=
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/&for=wpcom-auto-discovery
6.
https://pmig96.wordpress.com/osd.xml
7.
https://s1.wp.com/opensearch.xml
8.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#content
9.
https://pmig96.wordpress.com/
10.
https://pmig96.wordpress.com/
11.
https://pmig96.wordpress.com/starflight_home/
12.
https://pmig96.wordpress.com/author/pmig96/
13.
https://pmig96.wordpress.com/category/palmos/
14.
https://pmig96.wordpress.com/category/pit/
15.
https://pmig96.wordpress.com/2019/11/22/reviving-palmos/
16.
https://pmig96.wordpress.com/category/palmos/
17.
http://vexed.sourceforge.net/index.html
18.
https://github.com/migueletto/migueletto.github.io/blob/master/pumpkin/pumpkin_tp1.zip
19.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/?share=twitter
20.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/?share=facebook
21.
https://pmig96.wordpress.com/2021/05/28/menagerie-part-4/
22.
https://lzomedia.com/blog/pumpkin-os-x64-port-re-implementation-of-palmos/
23.
https://www.winnews.one/palm-os-ported-to-x86-64-osnews/
24.
https://www.osnews.com/story/133933/pumpkin-os-palm-os-ported-to-x86-64/
25.
https://pmig96.wordpress.com/
26.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-211
27.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/?like_comment=211&_wpnonce=62b3204272
28.
http://jirkasnotes.wordpress.com/
29.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-210
30.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/?like_comment=210&_wpnonce=82d1fcb7a9
31.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-209
32.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/?like_comment=209&_wpnonce=731ce7de49
33.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#respond
34.
https://public-api.wordpress.com/connect/?googleplus-sign-in=
https://pmig96.wordpress.com&color_scheme=light
35.
https://gravatar.com/site/signup/
36. javascript:HighlanderComments.doExternalLogout( 'wordpress' );
37.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/
38. javascript:HighlanderComments.doExternalLogout( 'googleplus' );
39.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/
40. javascript:HighlanderComments.doExternalLogout( 'twitter' );
41.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/
42. javascript:HighlanderComments.doExternalLogout( 'facebook' );
43.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/
44. javascript:HighlanderComments.cancelExternalWindow();
45.
https://pmig96.wordpress.com/category/cp-m/
46.
https://pmig96.wordpress.com/category/multimedia/
47.
https://pmig96.wordpress.com/category/mysteries/
48.
https://pmig96.wordpress.com/category/palmos/
49.
https://pmig96.wordpress.com/category/pit/
50.
https://pmig96.wordpress.com/category/puzzle/
51.
https://pmig96.wordpress.com/category/retrocomputing/
52.
https://pmig96.wordpress.com/category/uncategorized/
53.
https://pmig96.wordpress.com/category/z80/
54.
https://pmig96.wordpress.com/2021/09/
55.
https://pmig96.wordpress.com/2021/05/
56.
https://pmig96.wordpress.com/2021/04/
57.
https://pmig96.wordpress.com/2021/03/
58.
https://pmig96.wordpress.com/2021/02/
59.
https://pmig96.wordpress.com/2020/09/
60.
https://pmig96.wordpress.com/2020/08/
61.
https://pmig96.wordpress.com/2020/07/
62.
https://pmig96.wordpress.com/2020/06/
63.
https://pmig96.wordpress.com/2019/12/
64.
https://pmig96.wordpress.com/2019/11/
65.
https://wordpress.com/?ref=footer_custom_svg
66.
https://automattic.com/cookies/
67.
https://widgets.wp.com/likes/master.html?ver=20210818#ver=20210818&origin=
https://pmig96.wordpress.com
Hidden links:
69.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-form-guest
70.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-form-load-service:WordPress.com
71.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-form-load-service:Twitter
72.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/#comment-form-load-service:Facebook
73.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/
74.
https://pmig96.wordpress.com/2021/09/08/pumpkin-os/