Went over the tests under pp\source\rtl\os2\tests... Here are my findings, anyone interested ? Could fix most of them (but not everything is very useful IMHO).
basicpm.pas: insert {$APPTYPE GUI}
calc_e.pas: FAILS a.o. on "fixed" => change 1st fixed into real, 2nd one into nothing and OK.
heapsize.pas: breaks on ___SYSCAL and _A and gives warnings
remove the _ in front of A so _A > A
only syscall errors left and 2 warnings
change movl: movl: 2 times: %ax > %eax }; this removes two warnings
Finally: after finding ports.pas in rtl os2: can add syscall as follows:
procedure syscall; external name '___SYSCALL';
and in asm:
call syscall
now it runs again with different numbers as output:
327680
655360
helloos2.pas: Fix: comment out all lines with:
- MemAvail
- MaxAvail
- Heaporg
- Heapend
so uncommenting these makes the program work....
modeinfo.pas: I only need this to get started: note the T after var mode:
program modeinfo;
uses viocalls;
var mode:Tviomodeinfo;
begin
mode.cb:=sizeof(mode);
....etc...
o2rtlb1.pas: OK but don’t use unit crt!!!! If you do: program hangs on readln(number)
pmdemo1.pp: Issues; insert {$APPTYPE GUI}
pmdemo1.rc file: add: C-comment end delimiter at end
next:
rc -r pmdemo1.rc
fpc pmdemo1
Note that I had to use rc, not wrc, a bit strange.
Now with zip file attached..