Ok, I have PDOS/386 running in VirtualBox. The pdos.zip vhd image did all the trick.
Ok - good that you got it running.
What OS/2 executables can I run just as testing?
I don't think I ship a test OS/2 executable, but you can build a test program:
D:\devel\pdos\pdpclib>pdmake -f makefile.sos
...
gccwin -DXUSE_MEMMGR -U__WIN32__ -D__HAVESYS__=_System -O2 -fno-common -ansi -D__OS2__ -D__32BIT_
_ -D__NOBIVA__ -S -I. -I../src -o fpfuncsw.s fpfuncsw.c
pdas --oformat coff -o fpfuncsw.obj fpfuncsw.s
rm -f fpfuncsw.s
as86 -f coff -o winsupa.obj winsupa.asm
as86 -DOS220 -o needpdos.obj ..\src\needpdos.asm
..\src\needpdos.asm:8: warning: .stack unimplemented; ignored
ld86 -e top --oformat msdos-mz -o needpdos.exe needpdos.obj
rm -f pdpos2.lib
xar r pdpos2.lib os2strt.obj stdio.obj string.obj stdlib.obj
xar r pdpos2.lib start.obj time.obj errno.obj assert.obj signal.obj
xar r pdpos2.lib locale.obj ctype.obj setjmp.obj math.obj __memmgr.obj
xar r pdpos2.lib fpfuncsw.obj winsupa.obj
xar s pdpos2.lib
rm -f os2.lib
genimp doscalls.wat os2.lib
pdld -s --oformat lx --stub needpdos.exe -o pdptest.exe os2strt.obj pdptest.obj pdpos2.lib os2.li
b
And then run "pdptest abc def" to see.
(I did the above on my Windows 2000 system - but the same thing works on PDOS/386 - that's what being a mini-clone is all about)
Or verify it is LX with:
D:\devel\pdos\pdpclib>hexdump pdptest.exe 0 200
000000 4D5A6000 01000000 04000001 FFFF0600 MZ`.............
000010 00100000 00000000 40000000 00000000 ........@.......
000020 00000000 00000000 00000000 00000000 ................
000030 00000000 00000000 00000000 80000000 ................
000040 0E1FB409 BA1000CD 21B001B4 4CCD2100 ........!...L.!.
000050 54686973 2070726F 6772616D 206E6565 This program nee
000060 6473204F 532F3220 322E3020 6F722065 ds OS/2 2.0 or e
000070 71756976 616C656E 740D0A24 00000000 quivalent..$....
000080 4C580000 00000000 02000100 00000000 LX..............
000090 00020000 08000000 01000000 00000000 ................
Is there another disk I have to mount?
There is a pdoso.zip you can download that contains gccwin.exe etc as LX executables.
It was built with this:
D:\devel\pdospkg\misc>grep -i os2 *
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\gccwin.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\as86.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\genimp.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\ld86.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\pdas.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\pdcc.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\pdld.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\pdmake.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\rm.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\sccwin.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\uemacs.exe ::DOS\
final2.bat: mcopy -i pdoso.vhd --offset 504 \os2path\xar.exe ::DOS\
Those executables are not maintained though. But there are plans to mirror sourceforge to github and automatically sync and build everything. I'm not sure what the status of that is. Simon Kissane is the one driving that, with the assistance of Dat Nguyen (in Vietnam).
What else do you recommend doing on PDOS just to play around and possible understand it better.
There isn't anything to do, really. The focus was and is to have a self-hosting toolchain so that you are enabled to develop whatever it is you want to do - wherever you are. If you only have a mainframe - I have you covered. If you only have an Android smartphone - I have you covered. If you only have an Amiga with a 68000 - covered. If you're on an OS/2 machine for some reason - covered. If you like the OS/2 API for some reason, but want to use a mainframe - covered. I could do the same for 68000 but haven't done so yet. It's more to prove the portability than anything else.
I run milk.bat just for testing, I see the picture, but I can not exit. Is there any trick?
Yep:
D:\devel\baby>type milk.bat
echo press x to exit
pfpwin milk.jpg
D:\devel\baby>
Note that I didn't write pfpwin - so I didn't create that interface. :-) Not that I would have done a better job.
What is similar to "dir /p" to see the longer directory list paused?
If you are desperate, you can do "dir a*" to list just things that start with "a", which looks undocumented to me. And there is a "type /p" (I think Simon added that), so I'm guessing that functionality could be copied across. I'll ask Dat to do both of those things. No idea what timeframe that might happen in.
Note that I have been working on PDOS for more than 30 years, and it has now reached the point where I want to make sure that a competent engineer can maintain it without needing my personal touch, so I deliberately try to get Dat to do things, and I just help him if required (essentially training).
Something like getting Windows and OS/2 APIs to work on z/Windows "requires" my personal touch though, so that's what I focus on.
Oh - in case you weren't aware, a VHD can be mounted on Windows too (since Win 7 I think), so you can use genuine Windows to do a "dir". Also the VHD that I ship is both 4k-aligned and cylinder-aligned, so that it can be mounted on an OS/2 machine too, so that you get a better "dir".
If you'd like to make suggestions, we can take that into consideration. There is no actual "master plan". The goal was just to make it exist, and prove some concepts, and that has already been done.
There are some things that have been proven to be outside our capability to date though. Like getting a basic public domain C90-compliant compiler to work. pdcc is there, and capable of compiling a "hello world", but not much else. SubC is there too, and more advanced, but not an appropriate base for a C90 compiler written in C90. So my gcc 3.2.3 fork is still the only real option. There is also cc64, but that is close to being executable-only (generated C code), and only x64.