#[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/