Just installed the V30 and 8087. The bits are just flying though the Deskpro's copper and silicon veins.
If you need any help with the dev sys installation, let me know. I hope the install went without too many hassles.
I am running the 20 mb drive, did a full scan....took a while tho lol. I'll try rewriting the disks and then try that.
Sweet! If you feel up to the development system install, I put a zip file together with the 1.2 MB floppy images split into 360K chunks and some (very) brief instructions to reconstruct them on the Xenix installation: http://schmenk.is-a-geek.com/tarfiles/devsys-2.2.1a.zip
I was able to copy all the developer system floppy images to the deskpro and cat them to create the D1.rar , D2.rar ect. I unrared all four and when I run the scripts in the /tmp directory it asks for the serial number then activation key then it errors out.
Error: "./tmp/xds.ser: cannot create"
I am not out of room as I have about 20000 blocks free.
So i'm stuck.
I copied everything in the /tmp directory to a /bu folder to save everything before I did a shutdown.
Then, I wanted to fix some of the issues I had with the DeskPro hardware. First, the turbo mode on my machine switches off during boot, so I have to remeber to set it with the keyboard sequence at the 'boot:' prompt. If I forget, I have to reboot. Second, the Xenix console driver sets the CGA mode using default values, turning off the hires MDA style characters the Compaq VDU is capable of. So I needed to write a program to set the turbo mode and put the VDU in hires character mode. To do so requires I/O instructions. Normally Xenix running in a protected mode environment won't allow this, but the 8086 doesn't have a protected mode, so we can use in/out instructions in our code.
With the 286 development system I installed, the Microsoft C compiler works fine on the 8086. However, the Microsoft assembler, masm, must have 286 instructions as it returns "Syntax Error" on every line. I just couldn't get it to work. The C compiler has no intrinsic inp/outp routines like the later DOS versions do, so I needed to get an assembly file that implements the inp/outp routines assembled and linked with the C code. To get around this, I compiled a dummy C file that had empty inp/outp routines, but had it output the assembly listing. I copied this assembly file to a DOS floppy, edited it for functionality and assembled it with the DOS version of MASM 5.1. The /Mu flag is needed to retain the case of the public routines. Copying the resultant object back to Xenix, it linked in just fine with the C compiler. The C code to set the DeskPro I/O ports:
Code:#include <stdio.h> int inportb(); char *mode[2] = {"Off", "On"}; unsigned char vreg[] = {0x61 ,0x50, 0x52, 0x0F, 0x19, 0x06, 0x19, 0x19, 0x02, 0x0D, 0x0B, 0x0C}; int main(argc, argv) int argc; char **argv; { int r; /* * Set DeskPro Turbo mode. */ outportb(0xCF, 1); printf("Turbo mode = %s\n", mode[inportb(0x62) & 1]); /* * Set DeskPro Hi-Res character set. */ for (r = 9; r < 12; r++) { outportb(0x3D4, r); outportb(0x3D5, vreg[r]); } return 0; }
Compile with 'cc deskpro.c portio.o'. You can download portio.o here: http://schmenk.is-a-geek.com/tarfiles/portio.o.
I don't expect too many people to embark on a similar odyssey. But, at least it's possible.
Dave...
Tried this and it errors out with "fatal error 13: cannot open 'deskpro.c'"
Oh and I just started to read "sco_xenix_sysv286_programmers_guide.pdf " its for version 2.2 dated 1987.
# Set DeskPro specific features.
/usr/bin/deskpro
Any Xenix/Unix hack is doing themselves a disservice if the don't learn vi and ed. I haven't used it on a daily basis for years yet I still remember it. All you need are a few basic move/edit commands for vi and you're golden.Thanks to resman It works!!
View attachment 26951
Oh did I mention that I HATE vi?
I forgot how much I hate that program....
Any Xenix/Unix hack is doing themselves a disservice if the don't learn vi and ed. I haven't used it on a daily basis for years yet I still remember it. All you need are a few basic move/edit commands for vi and you're golden.
w - move forward a word
b - move backward a word
l - move forward a character
h - move backward a character
j - move down a line
k - move up a line
i - insert at cursor
ESC to end insert
x - delete character
dZ (where Z is one of the movement characters above) deletes the way you tell it to. (e.g. dw will delete a word).
Knowing those few commands you could have logged in from putty/telnet, opened a file with vi, started insert mode, copied from windows, paste and the entire file would be there.
It's probably just the one cli *nix looks like any other Not at all dissimilar to any Dos variant prompts looking like another.It's true that knowing vi can save a great deal of hassle. The really good news is that it is an option for Xenix. Many of the contemporary unices and clones for the XT didn't have vi (or any of the BSD goodness). We should thank someone at Microsoft for supporting the XT in 1986 and keeping a majority of the tools as 8086 code (except for whoever compiled MASM with 286 instructions). It feels surprisingly modern considering it's 30 years old..