Psion Organiser II Re-creation

Be clear with the topic titles to help members find the answers
Post Reply
amenjet
Posts: 290
Joined: Tue Jan 03, 2023 7:54 pm

Psion Organiser II Re-creation

Post by amenjet »

After having a break from working on the re-created Organiser II, I'm starting to think about what to do next on it. What I do will depend on whether the re-creation is just for me, or is something that other people are interested in. So, is anyone interested?

The current state of play is that the LZ ROM emulates fine, and I can read small EPROM data packs. The main PCB has some serial I2C devices that are used to store the A: drive instead of battery backing it. This means that the A: drive is more like a flash datapack than a ram based drive. So, I'm wondering if it's worth adding full datapack support (including writing to EPROM and flash packs). I am intending to use the PicoW on the main PCB instead of the Pico as that has Wifi and Bluetooth capability and means that the 'power' PCB doesn't need a wireless module. I have made a new power PCB that has a 21V supply for EPROM programming, but I haven't managed to get it working yet. I also accidentally soldered a Pico to the PCB instead of a PicoW so need to build one with a PicoW so I can change the wifi code to use it.

If it is just me that is going to use this then I'd seriously think about not supporting EPROM (or maybe any) datapacks and use the A: drive for storage and maybe an external SD card datapack. Similarly, the top slot is totally different at the moment and supplies GPIOs from the Pico, so I2C and so on, rather than the Psion top slot protocol.

There's details about the recreation here:
https://youtu.be/v2YWStDrQIs

Any comments?

Andrew
PaulK
Posts: 53
Joined: Wed Jan 04, 2023 11:54 am

Re: Psion Organiser II Re-creation

Post by PaulK »

Andrew,

This is really exciting news!

I won't have time to comment until tomorrow now, suffice to say that I'd love to see you develop your recreation further.

My mind is now racing with ideas :-)

Many thanks
Paul
MartinP
Posts: 54
Joined: Wed Jan 04, 2023 7:51 pm

Re: Psion Organiser II Re-creation

Post by MartinP »

Andrew,
Maybe just do what you find most rewarding, people will be keen to follow whatever you do. A while back I thought backwards compatibility would be good, but the datapak system is quite antiquated, so a re-designed interface would be useful, I2C or similar sounds great. But perhaps one slot that could at least read Psion datapaks (maybe just EPROM/RAM) and another slot for something new would provide the best of both?

I don't think there's much reason to hang on to the old top slot as it's mainly used for Comms, so something more modern there would also be good.

This might be a bit ambitious, but I'd like to see a whole new alternative OS to make full use of a better processor. I like MicroPython as I think it shares the readability of OPL and I could imagine if Psion were making a microcontroller based handheld now, they might go for Python. The development tools are easy to use, compared to the Pi Pico SDK.
Martin P.
PaulK
Posts: 53
Joined: Wed Jan 04, 2023 11:54 am

Re: Psion Organiser II Re-creation

Post by PaulK »

Andrew,

Some random thoughts.....

I think faithfully reproducing the Organiser as it is, but just using more modern hardware would be less interesting than what you propose. Most of us have original Psions so something a bit different sounds more appealing, at least to me.

Sd card for storing data and applications would be great. Imagine having ALL apps ever made for the LZ on one sd card! I'm not sure if that's technically possible - is there a limit to the number of apps that can be added to the "home" screen? Is there an OS limit?

If you implemented SD cards, this would allow you to do away with the original datapaks. The space used by the datapaks (which is a significant percentage of the overall volume in the machine) could be freed up for maybe more batteries etc.. perhaps?

Would SD storage be faster than the datapaks? Would this improve the overall performance of the machine when lots of data is stored? My current LZ64 struggles when a 256k datapak is being used - accessing directories is painfully slow! I assume because of the sequential access to data, but would this be improved with SD storage?

Keeping the original case and keyboard would be great, it's an iconic design and very rugged, but as Martin said, you could probably do away with the top slot. Having an SD card would remove the need for a comms link in most cases. Personally, the only reason I use a comms cable is to get data onto and off of the machine. I don't use any other top slot peripherals.

Back light screen would be great and if there was a way to make the keyboard backlight that would be really cool. I've played around with this in the past and not had much success. The rubber membrane prevents any light shining through and even if you could use a transparent replacement rubber sheet, the keys would also need re-manufacturing in more transparent material.

Bluetooth would maybe allow a qwerty keyboard to be used for data input when required? Not sure how that would work from the software side - way above my knowledge level!

I love the simplicity of the Organiser OS, so would be happy to see that remain, although maybe an alternative could be included as Martin thought. I used to really wish it was possible to address individual pixels within OPL, such that you could do more useful graphics e.g. rect 10,10,40,20 etc... and I guess a modern screen would allow that, just OPL doesn't have the commands. I guess adding new commands to OPL to take advantage of modern hardware is a lot of work and likely not worth it.

Anyway - whatever you do will be of great interest. As a simple user of the Organiser, dabbling in a bit of high level OPL coding, I'm in absolute awe of you hardware and software wizards! The stuff you guys come up with is on another level.

Thanks in advance for whatever awesome stuff you produce!

Cheers
Paul
amenjet
Posts: 290
Joined: Tue Jan 03, 2023 7:54 pm

Re: Psion Organiser II Re-creation

Post by amenjet »

MartinP wrote: Thu Jan 25, 2024 5:46 pm Andrew,
Maybe just do what you find most rewarding, people will be keen to follow whatever you do. A while back I thought backwards compatibility would be good, but the datapak system is quite antiquated, so a re-designed interface would be useful, I2C or similar sounds great. But perhaps one slot that could at least read Psion datapaks (maybe just EPROM/RAM) and another slot for something new would provide the best of both?
This is interesting, i think you are spot on about the antiquated nature of the datapacks. For the time, they were about as good as could be done, but that was a while ago now. I think reading datapacks is much easier than writing, due to the voltages and timings needed for writing. With an SD card available somewhere, it would be practical to have every datapack image known accessible, quickly. You also have the ability to write easily too.
I don't think there's much reason to hang on to the old top slot as it's mainly used for Comms, so something more modern there would also be good.
With a Pico W you have Wifi or Bluetooth, so yes, the top slot could then be I2C which would allow a wide variety of hardware to be attached, again very easily.
This might be a bit ambitious, but I'd like to see a whole new alternative OS to make full use of a better processor. I like MicroPython as I think it shares the readability of OPL and I could imagine if Psion were making a microcontroller based handheld now, they might go for Python. The development tools are easy to use, compared to the Pi Pico SDK.
Martin P.
Hmm, I've dabbled with a very small amount of Python and wasn't very keen on it. The Pico has micropython, though, so it should be easy to run on the same platform as the emulated Psion that the recreation runs (the platform is a Pico or PicoW). There's a bit of hardware for the display and keyboard and some GPIOs that do the top slot and datapack slots, that could be written in Micropython, I'd have thought, and you'd have a Micropython platform in a Psion Organiser format...

I think one limitation of the organiser is the limited number of lines when editing programs on the machine itself. With USB (the Pioc USB socket is accessible, but unfortunately only if you cut the case near the contrast wheel), or Wifi/Bluetooth it should be possible to get a larger editing environment.

Thanks for the comments, they are very helpful.
amenjet
Posts: 290
Joined: Tue Jan 03, 2023 7:54 pm

Re: Psion Organiser II Re-creation

Post by amenjet »

PaulK wrote: Thu Jan 25, 2024 8:16 pm Andrew,

Some random thoughts.....

I think faithfully reproducing the Organiser as it is, but just using more modern hardware would be less interesting than what you propose. Most of us have original Psions so something a bit different sounds more appealing, at least to me.
This is interesting, the recreation I did is an emulation of the original organiser, and maybe making a V2 that is more of a modern re-imagining makes more sense.
Sd card for storing data and applications would be great. Imagine having ALL apps ever made for the LZ on one sd card! I'm not sure if that's technically possible - is there a limit to the number of apps that can be added to the "home" screen? Is there an OS limit?
An SD card is easily added to the Pico, and yes, putting every datapack ever made would be simple. You could also save datapacks from the organiser to the SD card, and load or mount existing packs from the SD card, much like Jape does. Mounting pack images this way would mean that you only have up to 2 packs inserted at any one time, which is a bit of a limitation.
If you implemented SD cards, this would allow you to do away with the original datapaks. The space used by the datapaks (which is a significant percentage of the overall volume in the machine) could be freed up for maybe more batteries etc.. perhaps?
It would maybe be possible to have a battery 'datapack' that provided power via a datapack slot, but that would have to be a special slot as the original slots don't have battery power connected, only the top slot has that.
Would SD storage be faster than the datapaks? Would this improve the overall performance of the machine when lots of data is stored? My current LZ64 struggles when a 256k datapak is being used - accessing directories is painfully slow! I assume because of the sequential access to data, but would this be improved with SD storage?
Yes, the SD cards are fast, as they are random access rather than the serial interface of the datapacks. They are also much larger in capacity. The smallest SD cards I have are 64M so they are much larger than datapacks. I see little problem in using a 512M or even a 4GB SD card. The Pico is quite fast as well, certainly more powerful than the 6301 processor in the original organiser.
Keeping the original case and keyboard would be great, it's an iconic design and very rugged, but as Martin said, you could probably do away with the top slot. Having an SD card would remove the need for a comms link in most cases. Personally, the only reason I use a comms cable is to get data onto and off of the machine. I don't use any other top slot peripherals.
Yes, the organiser case is very rugged. Comms can be done with Wifi or Bluetooth fairly easily, so the top slot could then be I2C, or whatever is needed. The RP2040 processor on the Pico has logic elements called PIOs which would allow the hardware interface on the top slot to be software defined, i.e. it can be re-programmed at the hardware level to be whatever you want.

Back light screen would be great and if there was a way to make the keyboard backlight that would be really cool. I've played around with this in the past and not had much success. The rubber membrane prevents any light shining through and even if you could use a transparent replacement rubber sheet, the keys would also need re-manufacturing in more transparent material.
The screen in the recreation is an OLED display and generates light, so it works fine in the dark, so that'snot a problem.

Yes, a backlit keyboard would be great, but yes, it's very difficult to do. I'm not aware of a practical solution to this that has been implemented.
Bluetooth would maybe allow a qwerty keyboard to be used for data input when required? Not sure how that would work from the software side - way above my knowledge level!
Yes, Bluetooth could be used to 'press' keys on the keypad.
I love the simplicity of the Organiser OS, so would be happy to see that remain, although maybe an alternative could be included as Martin thought. I used to really wish it was possible to address individual pixels within OPL, such that you could do more useful graphics e.g. rect 10,10,40,20 etc... and I guess a modern screen would allow that, just OPL doesn't have the commands. I guess adding new commands to OPL to take advantage of modern hardware is a lot of work and likely not worth it.
The OLED display in the recreation is a graphics display, so the pixels are addressable. You can draw lines etc. OPL doesn't have those commands and patching the code would mean quite a lot of work. Maybe creating a new OS is a better way to go. At least the source would be available for extending the features more easily than trying to patch the 6301 code of an original organiser ROM.

Anyway - whatever you do will be of great interest. As a simple user of the Organiser, dabbling in a bit of high level OPL coding, I'm in absolute awe of you hardware and software wizards! The stuff you guys come up with is on another level.

Thanks in advance for whatever awesome stuff you produce!

Cheers
Paul
Thanks for your input, it's already making me think of new directions.
okto
Posts: 61
Joined: Sun Apr 23, 2023 5:14 am

Re: Psion Organiser II Re-creation

Post by okto »

I’m keenly interested in building one of these, and I’d love for it to have full Pak functionality.
amenjet
Posts: 290
Joined: Tue Jan 03, 2023 7:54 pm

Re: Psion Organiser II Re-creation

Post by amenjet »

okto wrote: Sat Jan 27, 2024 2:02 am I’m keenly interested in building one of these, and I’d love for it to have full Pak functionality.
Drop me a PM with some info and I'll send a package off to you.

Andrew
amenjet
Posts: 290
Joined: Tue Jan 03, 2023 7:54 pm

Psion Organiser recreation

Post by amenjet »

MartinP wrote: Thu Jan 25, 2024 5:46 pm
This might be a bit ambitious, but I'd like to see a whole new alternative OS to make full use of a better processor. I like MicroPython as I think it shares the readability of OPL and I could imagine if Psion were making a micro-controller based handheld now, they might go for Python. The development tools are easy to use, compared to the Pi Pico SDK.
Martin P.
I've just had a look at MicroPython using thonny attached to a Pico. I don't think it would be too difficult to write python code to talk to the display and keypad on the recreation. You'd then have a new OS in python and be able to use an SD card slot for storage. What appears on the OLED display is then up to the python that is running, so could be similar to the Psion menus but be written in python. You could run anything including graphics on that display. I don't know if you can redirect the REPL to an arbitrary bit of python but if so, OPL would be replaced by python as the on board language. You have USB or thonny for a larger screen editing environment and file transfer etc.

This can all be done on the recreation now, the only thing missing is a new 'power' PCB that has an SD card slot on it. Or, a new PCB that has slots that take and SD card datapack. That would be a nicer form factor for accessing the SD cards.

An SD card slot on the power PCB as built in storage would be nice, too.

I don't think python will run fast enough to handle an emulator of the 6301, so you lose code compatibility with the machine code stuff, but you could conceivably create a python OPL interpreter and run legacy OPL code. The existing emulated recreation code still exists as well...

Andrew
Last edited by amenjet on Mon Jan 29, 2024 1:16 pm, edited 2 times in total.
amenjet
Posts: 290
Joined: Tue Jan 03, 2023 7:54 pm

Re: Psion Organiser re-creation

Post by amenjet »

amenjet wrote: Sat Jan 27, 2024 11:25 am
MartinP wrote: Thu Jan 25, 2024 5:46 pm
This might be a bit ambitious, but I'd like to see a whole new alternative OS to make full use of a better processor. I like MicroPython as I think it shares the readability of OPL and I could imagine if Psion were making a micro-controller based handheld now, they might go for Python. The development tools are easy to use, compared to the Pi Pico SDK.
Martin P.
I've just had a look at MicroPython using thonny attached to a Pico. I don't think it would be too difficult to write python code to talk to the display and keypad on the recreation. You'd then have a new OS in python and be able to use an SD card slot for storage. What appears on the OLED display is then up to the python that is running, so could be similar to the Psion menus but be written in python. You could run anything including graphics on that display. I don't know if you can redirect the REPL to an arbitrary bit of python but if so, OPL would be replaced by python as the on board language. You have USB or thonny for a larger screen editing environment and file transfer etc.

This can all be done on the recreation now, the only thing missing is a new 'power' PCB that has an SD card slot on it. Or, a new PCB that has slots that take and SD card datapack. That would be a nicer form factor for accessing the SD cards.

An SD card slot on the power PCB as built in storage would be nice, too.

I don't think python will run fast enough to handle an emulator of the 6301, so you lose code compatibility with the machine code stuff, but you could conceivably create a python OPL interpreter and run legacy OPL code. The existing emulated recreation code still exists as well...

Andrew
I've had more of a look at Micropython and Thonny and while there are some bits I really like, unfortunately there seems to be a problem with the latest Thonny where package installation doesn't work. It's a known problem apparently, but sort of stops me developing a Micropython version.

What I liked
=========

I liked the way that you could attach a Thonny to the Pico and have an IDE on a PC, all running over the Pico USB. Saving and loading of files could be directed to either the PC disk or a small filesystem on the Pico, which I'm pretty sure is stored in the onboard flash. This is neat and means that you can develop code on a large screen and keyboard, and then easily transfer data between the PC and the Pico.

You can develop on the Pico, if you want or need to. The Micropython REPL (command terminal) can be directed to run off an arbitrary screen and keyboard, so the Psion keyboard and the OLED display should work.


What I didn't like
============

Not being able to develop code with packages. There is a package for the OLED displays I use, so it should have been easy to make that display work. But it wasn't. This is a problem with any large piece of third party code. If there's a problem with it you either fix it your self or wait for someone to fix it. Conversely if you write everything yourself then it can be fixed by yourself.


So, at the moment, I think I'm tending towards creating a new 'OS' for the organiser in C. This would have a lot of the functionality of the organiser, but SD card storage and probably some sort of programmable IO (RP2040 PIOs). So I2C, serial communications, SPI, or VGA graphics could all be done with that PIO I/O. For comms, use a Pico W and have Wifi or Bluetooth.

For onboard programming, maybe a recreation of OPL? As this is all native C on the ARM, it will be way faster than the emulated 6303.
Post Reply