x
This website is using cookies. We use cookies to ensure that we give you the best experience on our website. More info. That's Fine
HPC:Factor Logo 
 
Latest Forum Activity

Custom Minix for HP200LX ?

radiance32 Page Icon Posted 2022-01-06 7:20 AM
#
Avatar image of radiance32
Factor Fanatic

Posts:
63
Location:
New Zealand
Status:
Hi guys,

As some of you know i've been trying to get Minix 2.0.2 to connect via RS232 and the PPP protocol over a NULL modem cable to a raspberry PI running Linux so it can serve as a tiny webserver.
I'm getting there, but i've had to shave off quite a bit of code, rebuild the PPP drivers, modify some things in the system etc,
as i've only 640KB to work with on an XT class machine such as the 200LX.

But, there's still many things that can be shaved off, I can start working on the kernel, and start excluding unnecessary stuff, like the floppy driver, IDE drivers, parallel port driver, all the different network drivers etc...
These can be left out of the compilation of a new kernel, but even when doing that there's a lot of placeholder code that remains and uses precious memory...
I could also try to integrate a basic process swapping system by backporting it from 2.0.4 (which does'nt work on the 200LX), so you have a sort of virtual memory with a swap filesystem (but not memory based, process based, eg IDLE processes are written to the swapspace until they are required to run etc...)

The system can also be tuned to be more compact, as it features many things that aren't required on the 200LX, and misses quite a few things that could be useful.

I was thinking of maybe forking Minix 2.0.2, and making a lot of these changes, so as to create a distribution of it specifically for the 200LX,
it won't be useful as a replacement for DOS, as there is'nt much useful software for it compared to the tens of thousands of DOS games and applications,
but it would make for a nice server operating system, for enthusiasts who'd like to do what I'm trying to do...

What do you think of this idea ?

Cheers,
Radiance
 Top of the page Quote Reply
ntware Page Icon Posted 2022-01-06 1:49 PM
#
Avatar image of ntware
H/PC Elite

Posts:
660
Location:
Florida, US
Status:
This seems like a very cool project, but also a lot of work too! Have you seen the uCLinux project? It is essentially the Linux kernel for microcontrollers without an MMU. I believe this could also serve as a good starting point for the 200lx, since the 80186 is also a MMU-less machine. I don't know if there is any form of swapping or virtual memory of some sorts implemented in the uCLinux project, but it may be worth checking.
 Top of the page Quote Reply
ArchiMark Page Icon Posted 2022-01-06 2:59 PM
#
Avatar image of ArchiMark
Subscribers
H/PC Sensei

Posts:
1,200
Location:
Silicon Valley
Status:
Agree with ntware, this is a very cool project....so wish you well on it.

However, for me, I am interested in using 200LX as much as possible as a pocket productivity device.....writing, notes, To Do's, etc......
But think it's great that you pursue projects that expand the usefulness of the 200LX and demonstrate what great little computers they are, even today.
 Top of the page Quote Reply
radiance32 Page Icon Posted 2022-01-06 3:45 PM
#
Avatar image of radiance32
Factor Fanatic

Posts:
63
Location:
New Zealand
Status:
Yeah i've checked out uCLinux, it's pretty cool
The issue though is that it does'nt support 8086/186 CPUs (386 either),
it's mainly for embedded platforms like ARM etc...

I don't even think it could be ported to anything less than a 386 as besides an MMU you also need a CPU that can support protected mode, and address more than 640KB...

That's why I think a slimmed down version of minix for the 200LX would be ideal...
Sure, it's a lot of work, but, I'm retired (I developed OctaneRender in my bedroom a little over a decade ago, started a small company and hired extra devs, and then sold it to a company in Los Angeles, it's one of the fastest/best GPU based raytracers out there)

So I have time and maybe an hour a day or so is all it takes.
Remember that instead of adding new features i'll be shaving off unnecessary features, which is much easier and faster

I'm gonna think about it some more....

I could do an official open-source fork of Minix 2.0.2, but, I just can't think of a good name for the project... (HP UNIX is silly as it's similar to HP/UX, HP's PA-RISC workstation UNIX flavor... minlx sounds kinda silly too as does lunix) If anyone has any ideas please post them here


Radiance
 Top of the page Quote Reply
jorel101 Page Icon Posted 2022-01-06 5:38 PM
#
Avatar image of jorel101
Factorite (Elite)

Posts:
218
Location:
Los Angeles
Status:
Have you seen this?


Never mind. Thats you! At least now you know people are watching your work! I posted before reading your signature.
 Top of the page Quote Reply
ntware Page Icon Posted 2022-01-06 5:40 PM
#
Avatar image of ntware
H/PC Elite

Posts:
660
Location:
Florida, US
Status:
Retired? How cool! I wish I could retire soon as well to start working on projects that 'really matter' but brings absolutely no monetary compensation, like this one you just mentioned In fact, I just had another cool idea this week that fits in this category as well. It is about using an ESP8266 as a bridge between modern WiFi and Ethernet. The firmware is ready, and I even tested the concept here with my old handhelds. It works great. Now I wanted to make a PCMCIA Ethernet card (NE2000 compatible) with a built-in esp8266 that fits nicely in the PCMCIA slot. This could be a driver-less PCMCIA Wi-Fi adapter for any ancient machine that can support Ethernet cards, such as the 200lx itself...

Anyway, I diverged a little bit. Going back to the topic, what do you think about the name unlx? It is just a funny way to spell 'unix' bringing the 'lx' into it.
 Top of the page Quote Reply
ArchiMark Page Icon Posted 2022-01-06 5:47 PM
#
Avatar image of ArchiMark
Subscribers
H/PC Sensei

Posts:
1,200
Location:
Silicon Valley
Status:
Reading ntware's suggestion for a name....made me think similar idea, but mixing minix and LX to get minLX......
 Top of the page Quote Reply
radiance32 Page Icon Posted 2022-01-07 2:50 AM
#
Avatar image of radiance32
Factor Fanatic

Posts:
63
Location:
New Zealand
Status:
I've been fighting for weeks now to get SLIP/PPP worrking with the 200LX patched Minix 2.0.2,
i've tried everything and I can get the connection working with SLIP or PPP, I can ping everything from all sides,
I can do DNS lookups, so UDP seems to work, but as soon as I open a TCP connection (ether telnet out from the palmtop, or launch a process that accepts an incoming TCP connection), I get a kernel panic / system crash and a random error message that has nothing to do with what's happening.

I was hoping to apply the HP200LX patches to 2.0.3 or 2.0.4, but they rewrote the whole system init scripts to use a shell that is too large to use on the 200lx.
I think i've hit a brickwall with this, i've exhausted my options...

I think I might just build a www server with DOS and mTCP, that way I can use the PCMCIA ethernet card I have and have lots of throughput,
and leave the minix installation to compile and run my raytracing project instead. (as the raytracer is developed on linux in C and will port easily to minix)

Maybe, when something else pops up, i'll try it, but, I'm starting to worry I won't be able to get a proper internet connection going on minix
I've posted in minix user groups and nobody seems to have an answer...
One last thing i haven't tried before is using a non doublespeed upgraded machine, i'll try that tomorrow, but if it does'nt work, I'm gonna have to give up,
as i've more videos to make...

Radiance
 Top of the page Quote Reply
radiance32 Page Icon Posted 2022-01-07 3:15 AM
#
Avatar image of radiance32
Factor Fanatic

Posts:
63
Location:
New Zealand
Status:
GOD DAMMIT, after trying on a stock model it works. !!!
It's the damn doublespeed upgrade that's been giving me issues.
I've lost a whole week, why did'nt I try this earlier ???

I assume, since the minix kernel is an OS, it needs the required timing changes that the clkup32.sys driver does for MS-DOS too...
So, I'll have to try and apply these to the clock.c timings code in /usr/src/minix/kernel
problem is, I'm good at C, but not a reverse engineering assembly (clkup32.sys)

I might have to ask for some help on the VOGONS forum, or ask Jim Leonard for help...

Radiance
 Top of the page Quote Reply
Jump to forum:
Seconds to generate: 0.171 - Cached queries : 65 - Executed queries : 10