Page 1 of 2

The future of PortixOS

Posted: Sat May 26, 2007 6:49 am
by inflater
It has been a while since I started a topic PortixOS 0.4 pre-rel II and I've not developed PortixOS very much. After next 2 weeks or so, PortixOS 0.4 pre-rel III will be released. I know, I know that I should make PortixOS 0.3.8, 0.3.9, but I forgot that and I must complete these unstable pre-releases to the final, pre-release III. After this it will be a longer break (I cant tell you the exact time and yes, 0.4 will be not in August...), and after that you can expect a full 0.4 with self hosting. :) And I promise that I won't do anymore these "pre-releasing" versions, just 0.4, 0.5,etc. and when a bugfix for tricky PC will be released, 0.4.1, 0.4.2, ... you know :)

This thread will be updated more frequently, and the screenshots are currently only in Slovak language.

Two new screenshots from upcoming pre-release 3 (Don't expect many graphic changes, but you can expect a booting kernel from non-FAT floppy):


Image


This is a ordinary command line that can be found on almost every versions of PortixOS - 0.3 and of course, 0.4. That DIR function is used
to display directory contents, but for now - it only displays two basic
information about RSFS formatted diskette. :)


Image


Actually, this text interface routines were present in every PortixOS 0.4, but were never used. No, no, I do not use Turbo Vision for Pascal or any memory-hungry interfaces, I write my own. :) - at least for text mode :)

You can visit the forum at http://portixos.xf.cz/forum and tell there, what you would like in the OS and what you don't. :) Even non-PortixOS programming.
I've set up a little poll at the both language sites - English and Slovak. Check it out :)

inflater

Posted: Sat May 26, 2007 7:04 am
by inflater
News:

PortixOS loader along with the kernel losed their weight without deleting any functions. I just modified the code a little and the whole system is lighter by ~ 30%.

Posted: Sat May 26, 2007 4:30 pm
by AndrewAPrice
inflater wrote:News:

PortixOS loader along with the kernel losed their weight without deleting any functions. I just modified the code a little and the whole system is lighter by ~ 30%.
cool! What exactly did you modify?

Code: Select all

int a;
a = 0;
a++;
a++;
a++;
a++;
into

Code: Select all

int a = 4;
?

Posted: Sun May 27, 2007 3:07 am
by inflater
MessiahAndrw wrote:
inflater wrote:News:

PortixOS loader along with the kernel losed their weight without deleting any functions. I just modified the code a little and the whole system is lighter by ~ 30%.
cool! What exactly did you modify?

Code: Select all

int a;
a = 0;
a++;
a++;
a++;
a++;
into

Code: Select all

int a = 4;
?
Are flamewars really necessary ? :roll:

inflater

Posted: Sun May 27, 2007 10:39 am
by anon19287473
MessiahAndrw wrote:
inflater wrote:News:

PortixOS loader along with the kernel losed their weight without deleting any functions. I just modified the code a little and the whole system is lighter by ~ 30%.
cool! What exactly did you modify?

Code: Select all

int a;
a = 0;
a++;
a++;
a++;
a++;
into

Code: Select all

int a = 4;
?
it's called optimization asshat :evil:
Plus, any good compiler would optimize that for you... shows how much you know...


Good work inflator :)

Posted: Sun May 27, 2007 11:19 am
by Kevin McGuire
Did you use?
1. -Os (and the directly relatated compiler switches)
2. -ffunction-sections -fdata-sections --gc-sections
3. stripping symbol sections
Inflater wrote: PortixOS loader along with the kernel losed their weight without deleting any functions. I just modified the code a little and the whole system is lighter by ~ 30%.
But you do say that you modified the code a little. What could have possibly been the problem?

Posted: Sun May 27, 2007 12:44 pm
by inflater
Did you use?
1. -Os (and the directly relatated compiler switches)
2. -ffunction-sections -fdata-sections --gc-sections
3. stripping symbol sections
I do not use C as a programming language for my OS.

Ok, I will say the truth:
I optimized the code of PXLDR because there were two text arrays for two arrow keys (up and down, they were indicating a position of a text marker in the boot selection menu). As long I was kinda in hurry when writing these procedures, I didn't fiddle with them and I maked two huge and almost equal text arrays, except for the position of the marker.
I saved the space by deleting the second text array and the positioning marker from the first array and maked two procedures in ASM that used BIOS INT 16h to wait for keyboard press and to write the position marker by self, not by writing the huge text array *again*...

This will clear it to you:
Image

Formerly, there were the two huge text arrays. Now just one. :)

I'm adding a "chat program" to PortixOS, formerly called Terminal. It allows you to communicate between two computers by using a serial cable. Would it be useful or I should delete it and save space for other things?... Thanks for your responses, and please, no flamewars, or I'll ... ... oh never mind that. :D

inflater

Posted: Sun May 27, 2007 6:38 pm
by Kevin McGuire
I'm adding a "chat program" to PortixOS, formerly called Terminal. It allows you to communicate between two computers by using a serial cable. Would it be useful or I should delete it and save space for other things?... Thanks for your responses, and please, no flamewars, or I'll ... ... oh never mind that.
It sounds like a really neat idea to me. I am not sure if it would be incredibly useful.

I know a goal of mine.. one day.. is to get a circuit built where I can transmit some data (very slowly) using the parallel port over the air. I have built a small RF oscillator using a 1MHZ crystal and transmitted audio over it, but I still need to adapt it to two computers and a small chat program does have some interesting usage.

Posted: Sun May 27, 2007 8:28 pm
by Brynet-Inc
Kevin McGuire wrote:I know a goal of mine.. one day.. is to get a circuit built where I can transmit some data (very slowly) using the parallel port over the air. I have built a small RF oscillator using a 1MHZ crystal and transmitted audio over it, but I still need to adapt it to two computers and a small chat program does have some interesting usage.
Sorry for the off topic reply inflater..

@McGuire, That sounds pretty cool.. A friend of mine many years ago actually build something similar onto two older laptops.

It was rather neat, Like low-tech Wifi!, I'm even fairly sure he managed to do file transfers over AM or FM radio..
(I don't remember how.. but I think there was some sort of conversion process involved due to the possible corruptions?)

I myself would like to build a similar RF linkup between two computers.. Some day.

Posted: Sun May 27, 2007 11:49 pm
by inflater
Well,PortixOS can communicate somehow through two serial ports,maybe I will add support for parallel port too. :)
BTW.:Watch out,if I have enough luck,there is a posibility of booting PortixOS in your web browser!! 8)

Posted: Sat Jun 02, 2007 1:31 am
by inflater
Oh my, I've somehow damaged the code of my chat program in PortixOS...

With the introduction of my attempt to make a new file system suitable for PortixOS, RSFS, the PortixOS installation files are having now only ~45 kB ZIP'ed, but the thing is, that only a Windows or MS-DOS user can install PortixOS (except dosemu, dosbox, ... or something other running on *NIX). So there is a second choice - standard image file that has 1,44 MB (45 kB zipped too), but WinImage (and maybe other floppy image processing utilities) won't read the image due to lack of FAT/NTFS/HPFS or Ext2FS. You must use rawrite (Rawwritewin on Windows, but I suggest the installation files, faster) or dd to install this OS under linux.

I know, this is a common post with common problems, I'm just saying that the ways of installing PortixOS are changed. God, my English stinks...

I've speeded the text I/O routines a bit. Now the WriteStr (like puts(s: string)) is using direct video RAM access, no BIOS anymore, except, keyboard handler... :)

inflater

Posted: Sat Jun 09, 2007 1:35 pm
by inflater
So it is for real now; I am converting PortixOS to 32bit and I leaved the Pascal version alone. No, I'm not that good to manage my own FAT, PS/2, keyboard, screen,etc. - driver, so I am using DexOS as a base for my OS.

No, I am not a darn code stealer that makes a exact operating system clone by the help of CTRL+C and CTRL+V and gives the new name for it ! As long the screenshots aren't avaible, PortixOS 0.4 pre-release 3 or RSFS or any other crazy ideas "Thinked by inflater, (C) 2oo7, All Rights and Lefts Reserved" are cancelled. I am returning to good ol' standard, OS dev with FAT12. And the next release *could* be PortixOS 0.4 in full version in 12.August 2007. :) It seems that the good days are returning again. :)

RSFS was a bit more complicated of it's install program - it was a huge .BAT (executable "script" file) filled with PARTCOPY.EXE and misc hexadecimal parameters as offsets. Now it is easier - all you have to do for compiling is a command line
FASM (something.asm) <ENTER>.

After successful compilation you can copy the binary to the diskette. More simpler than jumping into BP, compiling it by hand, and then bringing a huge calculator or CALC.EXE and computing the physical offset address only to install a operating system...

So, I must convert the chat program now. As for converting in ASM, What do you think for this? Would be it really *useful* to have something like that in PortixOS or the huge converting process will just take much time and the chat program will be for "2 things" ?...

Thanks for your responses. :)
inflater

Posted: Sat Jun 09, 2007 2:47 pm
by Brynet-Inc
You are using DexOS as a base for your OS? What licence is it under?

Posted: Sun Jun 10, 2007 1:10 am
by inflater
Brynet-Inc wrote:You are using DexOS as a base for your OS? What licence is it under?
That's the catch, it doesn't have the licence yet. ;)

The source code is for anybody, who is interested to program applications for DexOS. As long Dex helped me with my OS (and you too!, especially Combuster, Candy, etc.) and I .. well, helped him too, when I asked for the source code, he gave it for me. I wanted to modify the dead project V2 OS to suit the needs of the "new" PortixOS 0.4; and when I would run into errors, DexOS would help that. But when I realized that V2 OS is mostly dead and "dusty", I began converting PortixOS to 32-bit assembly by help of DexOS (the drivers are like BIOS replacement for me) so PortixOS and DexOS will be two different systems (and incompatible between each other, like V2 OS vs. DexOS).

As long I'm now customizing PortixOS (like adding 80x25 font, and new commands, etc.), I builded from java sources a DexOS emulator. It could run the old PortixOS in pascal too. :)

http://inflater.hostuju.cz/to_dex/Demo.html

NOTE: You must have Java Runtime Environment 1.6 (the latest version) present on your computer; and as long as the latest version of Firefox and Opera (FFox: 2.0.0.4) are somehow incompatible with the JRE 1.6; so you must use at least for this little disadvantage the huge @$$ mandatory and full of holes like gruyere, Internet Exploder 6.0, the browser from Uncle Bill... We must wait for the update of the Firefox.

If anybody have started above successfully with JRE 1.5 or 1.4 (:shock:) please let me know!

By the way, PortixOS 0.4, the old pascal version (cancelled pre-rel 3) is now open source, but I think no one will want it because it is in Slovak language (I have planned English version too but its now cancelled), it is very unclean, without comments and without further support.

inflater

Posted: Sun Jun 10, 2007 1:27 am
by pcmattman
Um...

Code: Select all

<html><head></head><body>
    
	
	    
       <object classid="clsid:8AD9C840-044E-11D1-B3E9-00805F499D93" codebase="http://java.sun.com/products/plugin/autodl/jinstall-1_4-windows-i586.cab#Version=1,4,0,0" height="600" width="100%">
          <param name="CODE" value="org.jpc.j2se.JPCApplet">
          <param name="ARCHIVE" value="DexOSApplet.jar">
          <param name="type" value="application/x-java-applet;version=1.5">
          <param name="scriptable" value="false">
          <param name="fda" value="DexOS.img">
                   	        
  </body></html>
Where's the end of the object tag? Perhaps that's why it doesn't work?