Google Groups no longer supports new Usenet posts or subscriptions. Historical content remains viewable.
Dismiss

UZI180

242 views
Skip to first unread message

Андрей Никитин

unread,
Nov 24, 2022, 7:23:13 PM11/24/22
to
From correspondence with ostnils:

The Unix Edition 7 operating system is written in C and for this reason it can be transferred to a microcomputer with a different processor.
To do this, you need a compiler that can translate the source code in C into the commands of the desired microprocessor. However, not all programs can be compiled with the new processor. Part of the operating system code depends on the hardware of the new microcomputer and the existing machine-dependent Unix Edition 7 code is not suitable for this.
Since the existence of the Unix operating system, several attempts have been made to transfer it to the z80 processor. Micronix migrated Unix V6. They used Whitesmiths C as a compiler.
Douglas Braun wrote a Unix-like operating system UZI using Code Works Q/C.
Harold F. Bower adapted UZI into UZI180 using HiTech C v3.09. Stefan Nitschke developed it into UZI280, also using HiTech C v3.09.
During the development of these operating systems, only a small part of microcomputers could execute Unix code. At that time , MSX microcomputers and Arcady Schekochikhin and Adriano C. R. da Cunha developed UZIX. First v1 and then V2. At that point in time, they had advanced the furthest. However, their operating system only supported MSX hardware. In addition, the source code of UZIX v2 has not been published.
Sergey Akimov adapted UZIX for the ORION microcomputer.
Alan Cox started the development of the FUZIX operating system.
He now has the most advanced operating system that can run on different processors and different microcomputers. FUZIX is based on the UZI180 and complements it with a number of missing features. However, as a compiler, he used SDCC, which is a cross-compiler and cannot work on processors for which he generates code. This is a big drawback of FUZIX.
Writing a multi-task and multi-user Unix-like operating system is quite a difficult task. Many started it and as a result could not bring it to the end. The reasons were different, but the result was sad for everyone. It is almost impossible for one person to do such work qualitatively. Since at this point in time there are few computers left for old processors and even fewer people who use them, testing the operating system becomes quite difficult. The fewer users there are, the less likely it is to detect errors and fix them. And a system with errors is not very attractive to new users. It's a vicious circle.
Your desire to port Unix Edition 7 to z280 causes respect on the one hand, and on the other some despondency. Why repeat the path already passed by someone earlier. It is better to fix your eyes on one of the already existing Unix-like systems, especially since they are all based on Unix Edition 7 and adapt it for your hardware.
I have a microcomputer P112 and there is an UZI180 for it. However, this operating system is not complete and there are errors in it. I really wanted a native compiler to appear in this system, on which its code is written. This prompted me to try to restore the source code from the HiTech C v3.09 compiler executables for CP/M and compile it for UZI180. In part, Mark Ogden and I have had some success. The source code of the compiler has been restored. A cross-compiler has been created from the recreated code, in which some errors present in the CP/M version have been fixed. The cross-compiler removes some of the restrictions on the size of the source modules and is fully compatible with the native compiler for CP/M. However, when compiling the restored code for UZI180, unexpected obstacles arose. Compiled executables do not work properly in UZI180. The same source code compiled for CP/M and for Linux, macOS or Windows works fine. This fact suggests that some of the functions of the UZI180 are implemented incorrectly and have errors. Unfortunately, many of them are included in the operating system kernel, which means that need to change the entire operating system, including the kernel.
Changes in the kernel can lead to errors in other utilities that ensure the operation of the system as a whole. Adaptation and correction of errors in the UZI180 for the P112 microcomputer was handled by Hector Peraza. I am not sure that he will want to return to this project and start improving it and fixing bugs. At one time, he did a lot of work and somehow or poorly UZI180 works. There is not much in it yet.
I lack a simple text editor, a program like Kermit for sharing with other computers and a description of the utilities implemented in UZI180. I have already done a description of the kernel functions and almost all utilities. However, even here a fly in the ointment was found. Hector Peraza used previously written code by other programmers as the source code of utilities and compiled it into executable files. However, he could not physically check how they work. I found that some of them do not work correctly. My dream is not yet feasible. I don't believe yet that I can fix UZI180 alone and complete my plans.

Best regards,
Andrey

Alvaro García

unread,
May 19, 2023, 6:22:02 PM5/19/23
to
Hello Andrey

I was going to write to this group, to show my interest on UZI180 and P112, and I have seen your message, talking precisely things that interested me: the status of UZI180, and a compiler for it.

I am now triying to get a P112 board , I have contacted one person that probably could sell me one he has.
If I get a P112 board, my idea was to try to install UZI180 on it. But after reading your message, it is not clear that is possible in the short term.
In any case I woul like to try it , and perhaps try to fix some bugs on UZI180.
My level of knowledge is not high, so this will be a slow process.
If anybody want to share experiences about this theme, I would be glad to interchange information and see what it is possible to do with UZI180 and P112.

I think there are some Z80 emulators over there (not sure if also for the Z180) , so perhaps one of these can be used to debugg UZI180. Would it be possible?

Other possible use for P112, for me can be to try to install a CP/M on it.

If UZI180 it is not possible to install and run on the P112, well, there are many interesting projects over there, that is a bit of a problem with me I want to do many of them

There is another learnig unix-lke operating system, XV6, so I will try to check that one also. However XV6 has been porteds targeted only to 32 bit X86, and 64 bit RISC-V. Recently it has been ported to RISC-V , 32 bits.

Regards,
Alvaro Garcia

Андрей Никитин

unread,
May 20, 2023, 6:55:31 PM5/20/23
to
суббота, 20 мая 2023 г. в 01:22:02 UTC+3, Alvaro García:
Hello Alvaro

The P112 microcomputer was a fairly advanced device for its time. The microprocessor, RAM, ROM and some interfaces were located on the main board.
The microcomputer supports 2 floppy disks (up to 4 in total), 2 RS-232 serial interfaces (up to 5 in total), and a parallel port. The main board has a connector for expansion boards. An additional board for connecting hard disks (2 or 4) was developed for the P112. Unfortunately, it is only one.

Single-user operating systems were adapted for the P112 microcomputer: CP/M 2.2, CP/M 3.0, DOSPLUS, ZSDOS. The B/P BIOS became the most developed one.
Several multitasking multi-user systems were adapted for this microcomputer: MP/M 1.1 and MP/M II. Additionally, Hector Peraza wrote for this microcomputer a multitasking operating system RSX180 similar to DEC RSX-11M. And he improved the Unix-like UZI180 system for it, similar to Unix Edition 7. He also adapted SNIOS for CP/NET 1.1 and 1.2 and wrote many useful utilities for these operating systems.

The P112 microcomputer and these operating systems are now obsolete and allow the user to go back a few decades and work in the environments of the time.

The UZI180 operating system (kernel and utilities) is written in the high-level C language with the HiTech C v3.09 compiler. The P112 microcomputer can boot the UZI180 from a floppy disk and use a second floppy disk by mounting it with the mount command. Terry Gulczynski adapted Tilmann Reh's GIDE as an expansion board for the P112. This makes it possible to boot the UZI180 operating system (and not only that) from the hard drive. I was able to do this. The speed of response to typed commands has improved considerably. Unfortunately some utilities are buggy or incompletely written. For this reason I was not able to create a file system for the UZI180 with the highest possible capacity. However the system boots from the hard drive and works fine. I received a lot of help from Hector Peraza in installing it to an IDE disk and he corrected a few errors in the utilities.

I really wanted the UZI180 system to be self-sufficient, i.e. able to use the HiTech C v3.09 compiler as native software. To that end, I decided to restore the source code of the compiler. With the help of Mark Ogden I was able to complete the restoration of the C compiler code, fixing a few bugs in the CP/M version compiler executables along the way. Using the recovered code I was able to create a cross-compiler for modern Linux, macOS and Windows operating systems. At the moment I'm trying to compile it for UZI180. If I succeed, the kernel, utilities and the compiler itself can be created directly under UZI180.

Software development is only kept alive by the enthusiasm of hobbyists of old computers and they do it in their spare time. Therefore, fixing existing bugs or creating new programs has no specific deadline.

What I personally miss in the UZI180 is a simple text editor and a program for exchanging data with other computers via RS-232 (e.g. kermit). I was able to compile kermit v 3, but it only transmits files in one direction.

I never give up hope to someday compile the programs I need for the UZI180 and make this wonderful operating system more convenient and attractive. I hope it is of interest not only to me.

Regards,
Andrey Nikitin

Alvaro García

unread,
May 21, 2023, 4:11:43 AM5/21/23
to
Hello Andrey

Thank very much you for your thorough explanation. By the way, let me say that your work restoring the source code of the HiTech compiler seems to me awesome!!
I am also interested on UZI180 (among other operating systems), and this source code version of the HiTech compiler.

I am going to receive a P112 board, hopefully in two weeks, or one month, so that is great news for me!! It will include GIDE, a 1.44Mb floppy drive, and a dual CF-IDE adapter.
So I will try to install the last version of UZI180 on it. I would like to help with some of the pending items you have mentioned (some stability issues, an editor, etcetera). Only the future can tell if that is possible for me, specially in the short term, if I will have the sufficient knowledge for it, and also enough spare time.

We can also talk, I suppose better on another thread (so that things are easier to search by theme on this group), about Fuzix. The advantages and drawbacks we see on it.

I hope talking about unix-like operating systems are not considered out of topic for this group, as its name is "comp.os.cpm". Well, I don't know, the thing is that they share the same hardware, so, from that side, it makes sense to talk about software that run on the same common hardware. If necessary, we could move the discussion to other Google groups. I at least know two others: "retro-comp" and "RC2014-Z80".
This question arises for me as I am , in practice, new to this group.

Of course, CP/M also interests me , as it requires so little resources of RAM, and for me has gained more interest recently, as they have appeared , for example, channels in YouTube that not only talk about CP/M, but also are great videos to learn other things, such as assembler for the Z80 , the SPI interface, etcetera. One thing I want to investigate is the capabilities of MP/M for multitasking. In any case , CP/M is also a great place to learn things

One last thing for now, so as not to make this message too long.
In case you haven't see it, let me tell that yesterday I saw at the group "RC2014-Z80" a thread that talks about improvements, made by a member of that group, to the assembler of the Hitech compiler. The thread has the title "Z80AS - new Z80 assembler, compatible with the HiTech tools". In case this interests you. Ummm, I think this person is working with CP/M

So , step by step, I first have to receive the P112 board, and then install the last version of UZI180. Afterwards, I will see if I can help with any pending item you have mentioned.

Regards,
Alvaro Garcia
0 new messages