thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

Now in - 0.265!

Sorry, I meant to post this last week (see the date of the screenshot), but I've been tied up with other things.

x64 only - i686 fails at linking, because it's just too big for 4GB. I'll try to work on that when I set up an i686 installation of Haiku.

As usual, showing off screenshots, because of course.

BTW, is running via SSH on the Haiku box (r1b4). It's more stable on nightly, so I'm looking forward to r1b5!

thelastpsion, to retrogaming
@thelastpsion@bitbang.social avatar

Just tried compiling Wari, a game written in #Psion OO C. The project uses #Borland Make 3.6.

Got it to compile first time with my SIBO SDK setup - all good!

However... Borland Make uses 16-bit DPMI, and its extender won't load 32-bit DPMI binaries. If I pre-load the 32-bit extender, it won't load 16-bit DPMI binaries, so Make won't run!

TL;DR: I can't use the new #ctran with Borland Make 3.6.

Looks like I'll be converting that Makefile to GNU Make or a #TopSpeed project.

#dos #dosbox

thelastpsion,
@thelastpsion@bitbang.social avatar

DROP-IN REPLACEMENT, BABY!

This is Wari, a game written in Psion's proprietary OO C, back in 1996.

It was compiled with a modified version of the Psion SIBO C SDK, containing my new FOSS version of the OO preprocessor.

It literally just worked!

The fun doesn't stop here, but the first milestone has been reached. Two months of work. I am both pleased and relieved!

thelastpsion, to random
@thelastpsion@bitbang.social avatar

If I want to have any hope of learning to write #EPOC16 device drivers in the future, I'm going to need to learn x86 (specifically 8086 and NEC V30) assembly.

That is DEFINITELY not a Today Problem. It's not even a This Year Problem.

#Psion

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

A summary of my first impressions of 's object oriented ecosystem for .

TL;DR: It feels janky, but I'm also a noob. Plus what about Objective-C?

I'm certain there's loads that I've missed with this. Do feel free to comment with constructive information.

https://hackaday.io/project/161291-the-last-psion/log/226441-beginning-olib-an-entirely-uneducated-look-at-psions-proprietary-object-oriented-c

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

Looking through some C code, I've seen CDECL a few times. Being a noob, I didn't know what they were or why they were there.

So, looking at Wikipedia...

is a "caller clean-up" calling convention using the stack. This is pretty common in the x86 world, but is explicitly mentioned in Psion code. Why?

C uses its own "callee clean-up" calling convention, using registers for the first 4 int parameters, which really likes.

https://en.wikipedia.org/wiki/X86_calling_conventions

TopSpeed / Clarion / JPI The first four integer parameters are passed in registers eax, ebx, ecx and edx. Floating point parameters are passed on the floating point stack – registers st0, st1, st2, st3, st4, st5 and st6. Structure parameters are always passed on the stack. Additional parameters are passed on the stack after registers are exhausted. Integer values are returned in eax, pointers in edx and floating point types in st0.

thelastpsion,
@thelastpsion@bitbang.social avatar

I say "likes" calls using registers, but that's an assumption and I could be getting confused.

AFAIK, EPOC16 uses the "pure" small memory model (preserving the CX register) so that 64K code blocks can be moved around memory without interfering with the program running "within."

I assume this ties in, but if anyone knows otherwise then please feel free to correct me!

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

I know I said I wasn't going to start this yet, but I've been thinking about it all day and I really want to work on a programming project that's FUN!

So...

https://github.com/PocketNerdIO/vine

Fefstool is on hold. I'm making a 16-bit word processor for an obsolete PDA, and I'm codenaming it "Vine".

thelastpsion,
@thelastpsion@bitbang.social avatar

Some thoughts #Psion #EPOC16 development.

EPOC16 restricts apps to the x86 small memory model, so that it can move 64K blocks of RAM around easily. (It's also VERY picky about register usage, for the same reasons.) This basically means that apps can't be bigger than 64K.

The way I understand it, you can get around this by using dynamic libraries, or .DYL files, splitting out you app's functions and dynamically loading an unloading them when needed.

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

I'm not listed (yet), but I'm going to be showing off the not-disassembled items in my #Psion collection on Saturday 4th and Sunday 5th November at the Retro Computer Festival.

I'll also have that #HaikuOS netbook running #MAME for you to try out a few classic #EPOC16 apps and games without risk of breaking the hardware. (Yes, there was a real point to that project!)

If you can get to Cambridge that weekend, come say hi!

#RetroComputing

https://www.computinghistory.org.uk/det/71266/Retro-Computer-Festival-2023-Saturday-4th-November/

thelastpsion, to random
@thelastpsion@bitbang.social avatar

This potato of a laptop fell into my hands recently - an Acer Aspire One D257, running an Atom N455 @ 1.66 GHz with 1GB DDR3 RAM.

I've just popped an SSD in it. I'm thinking about using it only as a MAME machine to run the #Psion SIBO emulation, just for demos.

So... Maybe Debian? Possibly even running 32 bit (it is a 64 bit CPU, but that lack of RAM worries me). A lightweight DE or WM.

I could run Arch, but I really want this to Just Work™.

Any suggestions?

thelastpsion,
@thelastpsion@bitbang.social avatar

And we're done! The #MAME on #HaikuOS PR has been merged and is now available for everyone to compile.

One more OS that you can emulate #EPOC16 on! 😂

#Psion

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

Question to #DOSBox users on all OSes.

Where do you store your mounted drives?

Is there a universally accepted place?

For example, on Linux I have ~/dosbox, in which I have sibo-c and sibo-m folders, mounted as C: and M: in DOSBox. I also have a P: drive mapped to ~/psion containing projects.

For Windows, would you put them in c:\users\username\dosbox?

I want to make a video for using the Psion SIBO C SDK. I want to stick to conventions where possible.

cc @DOSBox_Staging
#retrocomputing

thelastpsion,
@thelastpsion@bitbang.social avatar

As much as I'd like to base a #Psion SIBO C SDK tutorial around Linux, I think there are going to be more people out there running Windows or macOS.

Maybe I should do a poll. The Fediverse is representative of the sort of folk who would want to make new #EPOC16 software, right?

Right?!

👀

#retrocomputing

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

Stumbled across this.

12 years ago, someone wanted to build a "new" Series 3a with an FPGA.

They were talking to #Psion about getting hold of the source code for #EPOC16. Psion seemed willing to help, but concerned about "other intellectual property rights."

Good to see willingness, but my heart sank a little.

But... Looks like they were happy for the SDK to be freely available, so I'll look into that.

Also, I wonder if "Michael E" is still around?

#retrocomputing

https://web.archive.org/web/20110623141058/http://community.psion.com/discussions/f/151/t/7708.aspx

I'm also concerned about the availabilty and legal status of the EPOC16 OS and applications. I could not find out who the current copyright holder for EPOC16 is - unfortunately, EPOC16 does not seem to be contained in the Symbian open source release (which is not surprising). There might not be a lot of commercial value left in EPOC16, however, I certainly don't intend to violate copyrights with my project. It would of course be extremely great to obtain access to EPOC16 source code (this would certainly answer some questions on the hardware), but I'm afraid the source will be unavailable (or even lost). Another option would be to use a ROM file and apply a lot of reverse engineering, but apart from the Series 3a/c emulator for DOS (which includes some DLLs that should contain the ROM contents, but it's not obvious how to extract these) there is not much information available how to obtain a ROM dump. Is there a way to extract a ROM dump from an OPL program running on a working Psion Series 3? I hope you don't think this project is too crazy - I think it's quite worthwhile (and a great educational project, after all). If you could support me in some way, I would be very grateful. -- Michael
Posted by Lee Hunt on 6 Jun 2011 11:43 AM Re: EPOC16 hardware/OS info/sources? Hi Michael, I think in answer to your question - yes it is. Between the things you've found and the thread that Jacques mentions above, thats about everything that was made public (and maybe not everything there was made "public" but seems to be now Smile). I'm still looking at other things but I think the source is going to be hard to provide. I now know that Psion had rights to EPOC16 but there are other interlectual property rights issues that mean we probably can't provide the source even if we want to. I wonder if I might be able to get some hardware documentation for you - can't promise anything but I will try.

thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar
thelastpsion, to retrocomputing
@thelastpsion@bitbang.social avatar

Anyone remember the Graphic Adventure Creator?

Originally made for the , my experience of it was from a covertape.

Anyway, it's been on my list to attempt porting it to for ages. It's not top priority, but the machine is perfectly designed for playing games (see @root42's escapades with ).

Be great if it could decompile and play old games, too.

https://en.wikipedia.org/wiki/Graphic_Adventure_Creator
https://gac.interface1.net/

thelastpsion,
@thelastpsion@bitbang.social avatar
thelastpsion, to random
@thelastpsion@bitbang.social avatar

Spent a lot of time this morning looking for old #EPOC32 software.

Most of my #Psion time is spent in the #EPOC16 world, so it's been good to look around at what was done on the newer machines.

Highlights so far include #SimCity, Frotz (#Infocom emulator), Jumpy, #NetHack, a WAP browser, Imperium (Command & Conquer clone), Z80 (#ZXSpectrum emulator) and #Doom!

I need to dig my 5mx out, but I'll be giving these a go.

#RetroComputing

thelastpsion, to random
@thelastpsion@bitbang.social avatar

Trying to give #EDisAsm a proper help menu, which requires compiling a resource (.RSC) file.

After much faffing, I've got compiled a basic .RSC file, and added its .RSG (header) file to the project. All compiled OK. Copied the app and .RSC to the DOS #EPOC16 emulator and...

DOES ANYONE REMEMBER HOW TO DO THIS?

I'm currently trawling through old code and the SDK docs.

#RetroComputing #RetroDev #Psion

thelastpsion, to random
@thelastpsion@bitbang.social avatar

Did you write code for #Psion machines in the #80s and #90s?

We're calling for you to open source your code!

I'm working with a group of enthusiasts, building a library of information about the SIBO/EPOC16 platform. Your old code could give valuable insight, as well as encourage people to write new code.

We're especially interested in old C and #x86 #assembly.

Upload it to your public repository of choice, and set it free!

#retrocomputing #retrodev #16bit #pda #laptop #epoc16 #sibo #oldcode

  • All
  • Subscribed
  • Moderated
  • Favorites
  • megavids
  • thenastyranch
  • rosin
  • GTA5RPClips
  • osvaldo12
  • love
  • Youngstown
  • slotface
  • khanakhh
  • everett
  • kavyap
  • mdbf
  • DreamBathrooms
  • ngwrru68w68
  • provamag3
  • magazineikmin
  • InstantRegret
  • normalnudes
  • tacticalgear
  • cubers
  • ethstaker
  • modclub
  • cisconetworking
  • Durango
  • anitta
  • Leos
  • tester
  • JUstTest
  • All magazines