• COHERENT 4.0 graphics workstation available

    From Udo Munk@21:1/5 to All on Fri Oct 16 09:34:33 2020
    Now with 3.x and 4.2.x systems in a state much to my liking I thought it's about time
    to give 4.0 a bit love. First a bit about the history:

    In 1992/93 many of us were happily running some kind of UNIX workstation, COHERENT
    mostly in my case (yes, I also have used Minix and Linux at that time). Usually the systems
    were text only on the console, and you had serial terminals, modems, printers and what
    not connected to the boxes. Of course these PC's could be equipped with graphics
    cards, in my 386 box I was using monochrome Hercules graphics, because I did not
    like the pixelish CGA/VGA stuff available at that time. Whatever, we always looked a
    bit jealous at the DOS/Windows 3 systems, running all kind of graphics games, demos
    and so on. So most people build dual-boot systems, that allowed to boot either DOS
    or some of the UNIX systems, so that you also could play a game from time to time.
    Well, that DOS stuff was no fun to use at all, so something had to been done.

    In 1992 someone provided vgalib for UNIX systems, that would allow user land applications to access the VGA card in the system, switch it into graphics mode and draw stuff on it. This library was ported to COHERENT, the MWC developers worked together with the community to get hooks into the 4.0 OS, which would provide the needed functionality. The community then developed a bitmapped graphics driver which can be used by vgalib. At this time the COHERENT console was not iBCS2 compatible, this was added to the 4.2 release, which made such drivers superfluous. So from this time on it was possible to write VGA graphics applications for such systems.

    X11 was not yet available for COHERENT, but there was this Bellcore MGR window manager, originally written for Sun workstations. A group of developers was formed
    from Minix, COHERENT and Linux communities, to make MGR available on the systems,
    I have been part of that. Not long after X11R5 became available for the systems,
    people lost interest in MGR and the project abandoned and left in a not finished state.

    I have now re-created a COHERENT systems that has all this graphics stuff installed.
    MGR is not fully working, the serial mouse makes trouble, same as way back then.
    All the graphics stuff is working, all the work has been done that requires a good
    technical understanding of the software, the remaining problems should be easy to fix.

    I'll give you a hint. It is no fun to run graphics software under control of a debugger
    to find out what is going on. So I wrote a small example program that reads out a serial mouse and allows to get this part more easily working. This example later
    also made it into MWC/RTR X11, to help people figure out their mouse thing.
    You should be able to find findmouse.c in the old software archives.

    Last but not least, links for download and video:

    https://www.autometer.de/unix4fun/coherent/ftp/vms/ https://youtu.be/ywUV7uzHJpY

    In case of questions feel free to ask,
    Udo

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Sat Oct 17 06:47:16 2020
    Had a closer look at the mouse stuff in the mgr server, nope, includes exactly the code as I figured it out with mouse.c. There have been issues with poll() and the pty's too in early OS versions, that all was fixed with 4.0 r77. Unfortunately
    we don't have the r77 update disk. One could try with a r74 system, I have imaged that disk and it is available. If nothing helps the MWC archive includes sources for r78, some day I would like to have a look at that anyway...

    Feeling like Doc Brown somehow, reading through the stuff we wrote 3 decades ago ;-)

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Sun Oct 18 13:45:09 2020
    I have build a r72 system, installed graphics driver, vgalib and mgr on this one.
    Still same problem, mgr server gets stuck in the moment it receives events from the mouse.

    I made some changes to the r68 system and uploaded an updated version as well as the r72 box. Both have mouse.c in home of root user to test the serial mouse.

    With r72 MWC added a kernel link kit in addition to the device driver kit, which
    allows users to add device drivers to a kernel without the DDK. In /conf you can see what I have done, to add the graphics driver compiled on the DDK system to the r72 kernel. A new kernel /testcoh can be build with:

    cd /conf
    kgen

    Oh and the r72 assembler is buggy, one needs to use the r68 assembler for building
    mgr. /bin/as on the system is linked to /bin/as.r68.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Mon Oct 19 03:17:13 2020
    Now I have build a r74 system with all the required software. Much improvements compared with the releases before, but still the mgr server gets stuck in the moment
    one moves the mouse.

    I though we had it fully working also on releases before r77, hm.
    Whatever, if anyone wants to look at it use the r74 machine, at least gmake runs on that one without crying and dying all the time.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Mon Oct 19 15:15:59 2020
    Aha, got it working:

    https://youtu.be/BbrclByIpSo

    Serial mouse handling was pretty much screwed, I had to fix this. Tested on r74 so far only,
    disk image for the VM should be available soon.

    I have not yet bothered to install the man pages, that needs to be done and I want to
    try it also on r72 and r68. Not sure if I fixed all Makefile, or if a build from sources
    still requires manual work, this might need more clean up, but it's working again after
    3 decades.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Tue Oct 20 02:21:18 2020
    I also have build a 4.0.72 system which runs MGR fine. Updated disk image is available for download.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Tue Oct 20 05:59:07 2020
    I have also updated the 4.0.68 box. On PCem MGR won't work, this version has issues with the tty line discipline. On QEMU it works OK, because QEMU doesn't try to emulate the serial chips accurate, and so doesn't care about a misconfiguration.

    Anyway, nice timeline of the development that was going on in 1992/93.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Udo Munk@21:1/5 to All on Mon Nov 2 09:56:06 2020
    I have uploaded new disk images with my 4.0.x installations. These now include GNU make 3.62 build from source, so that this is GPL compliant. The default make on the systems is GNU make, because this is required to build MGR.
    The binary in /usr/local/bin will be used because of $PATH and also /bin/make is linked to GNU make. To use MWC make rename /usr/local/bin/make and
    link /bin/make to /bin/make.mwc. GNU make does't work well on releases
    before r74 though.

    Then I added unproto 1.7 (/usr/local/src), so that one can build programs written in ANSI C.

    On the r74 machine I installed the r78 kernel sources, which is the latest version for the 4.0 release. I added the bit-mapped graphics driver, kernel builds and boots OK. Graphics is not working anymore, GP fault, mapping
    of the I/O ports and/or video memory of the VGA card not possible, needs
    closer inspection what was changed.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)