Back to home page

DOS ain't dead

Forum index page

Log in | Register

Back to index page
Thread view  Board view
kerravon

E-mail

Sydney, Free World South,
01.05.2025, 15:31
 

freewindows (Announce)

This bug I have been waiting on has now been fixed:

https://github.com/Baron-von-Riedesel/HX/issues/15

And with the release of DOS 4.0, I now believe we have the basis for a commercial competitor to Windows.

I've got a distribution here:

http://pdos.org/freewin.zip

There is a readme.txt

Any thoughts?

Thanks. Paul.

kerravon

E-mail

Sydney, Free World South,
01.05.2025, 15:49

@ kerravon
 

freewindows

I know what you're thinking - this software solution relies on a BIOS that no longer exists in modern hardware. How can it be viable?

Well, you can do the same thing I did, which was sneak into communist China and raid a government office to get hold of one of their brand spanking new Lenovo Kaitian N80Z 14-inch Made in China Notebook KX-U6780A Kirin OS and then smuggle it out to the free world.

Just don't try hiding it where I initially tried hiding mine. It doesn't fit. No matter how many jars of vaseline you use. Trust me on this one.

kerravon

E-mail

Sydney, Free World South,
01.05.2025, 16:20

@ kerravon
 

freewindows

If you search for "Freewindows" at http://pdos.org you will also see a translation of the BIOS for those of you who don't happen to know Mandarin.

Oso2k

01.05.2025, 20:30

@ kerravon
 

freewindows

> If you search for "Freewindows" at http://pdos.org you will also see a
> translation of the BIOS for those of you who don't happen to know Mandarin.

Maybe reconsider naming of "Freewindows" - https://software.fandom.com/wiki/Freedows

kerravon

E-mail

Sydney, Free World South,
02.05.2025, 02:49

@ Oso2k
 

freewindows

> > If you search for "Freewindows" at http://pdos.org you will also see a
> > translation of the BIOS for those of you who don't happen to know
> Mandarin.
>
> Maybe reconsider naming of "Freewindows" -
> https://software.fandom.com/wiki/Freedows

I read the link - and hadn't heard of that before.

Regardless, I don't understand the suggestion.
Are you saying I should change from Freewindows
to Freedows to take over the name of that
vaporware product?

Also note something. Freewindows - or whatever it is
renamed to - starts life fully operational.

It is actually Japheth that has done all the hard
work. He created a Windows mini-clone. Far beyond
what I have done with PDOS/386.

It just hasn't been packaged/marketed correctly.

I think Japheth grossly underestimates what he has
achieved. He used the term "mere DOS extender" to
describe his own work to me once. I told him that
I don't consider the word "mere" to be a correct
adjective. He's created a free version of Windows.
It's amazing. I haven't used it much until now
because there were other things I needed to sort
out first. But now I intend to make sure I can
reproduce HX from source.

Before DOS 4.0 was released I had intended to
produce a Freedos-based distribution - actually
I already do - but that's of relatively minor
interest as it is hampered by GPL.

it is DOS 4.0 that put it at the level I am
interested in - opening up the potential to be
a commercial development. I'm planning on
calling my closed-source commercial version of
Freewindows "Dospire" (ref: Lindows/Linspire).

Might be a while before I make the plunge into
commercial operating systems, because I'm not
very commercially-oriented. I'll let the group
know if/when that happens. Now I have the choice.
My definition of "freedom" (or close to it).

BFN. Paul.

kerravon

E-mail

Sydney, Free World South,
03.05.2025, 06:55

@ kerravon
 

freewindows

So the current thing that interests me is whether Freewindows (ie HX, really), is good enough to drive COM1.

I have some comms routines for multiple environments, and the Windows version has this:

/* This is a hack to create a DCB the easy way */
rc = BuildCommDCB(dcbstring, &dcb);
if(rc != TRUE)
{
printf("rc from BuildCommDCB is %lu\n", GetLastError());
errorSet(COMERROR);
return;
}

/* Get the current parameters */
rc = GetCommState(pdcomm->hfile, &dcb);


This is to set the N,8,1 of the modem.


And the modem would have been previously opened with this:

else
{
speed = 0;
if (isdigit((unsigned char)*fileName))
{
sprintf(fileName, "COM%c", *fileName);
}
}
pdcomm->hfile = CreateFile(fileName,
GENERIC_READ | GENERIC_WRITE,
0,
NULL,
OPEN_EXISTING,
FILE_ATTRIBUTE_NORMAL,
NULL);


I don't have a real COM port, but using Virtualbox I hope I can prove that these routines work under Windows 2000 and then I will see if HX has implemented this.

I don't actually need to change the N,8,1 - they should all be set correctly already, and the real link is via Virtualbox TCP/IP, so all I really need is for CreateFile to work.

I already know CreateFile works for disk files under HX.

What I don't know is whether Japheth has implemented the ability for me to reach the outside world.

I have a mainframe OS and emulator that runs under Windows. If Freewindows supports opening a COM port, my mainframe will have access to the outside world. Including zmodem file transfers. Even on an EBCDIC system.

Japheth

Homepage

Germany (South),
03.05.2025, 08:04

@ kerravon
 

freewindows

> I don't have a real COM port, but using Virtualbox I hope I can prove that
> these routines work under Windows 2000 and then I will see if HX has
> implemented this.

No, not in the standard HX. Support for COM has been added to HX once, but it was "commercial".

---
MS-DOS forever!

kerravon

E-mail

Sydney, Free World South,
03.05.2025, 08:50

@ Japheth
 

freewindows

> > I don't have a real COM port, but using Virtualbox I hope I can prove
> that
> > these routines work under Windows 2000 and then I will see if HX has
> > implemented this.
>
> No, not in the standard HX. Support for COM has been added to HX once, but
> it was "commercial".

There is a commercial version of HX?

Anyway, I have managed to get my COM port working
on Windows 2000 (via Virtualbox). I have a test
program that sends ATZ, waits 5 seconds and then
hopes to see an OK from a modem.

I had Virtualbox com1 enabled, TCP mode, connect
to existing pipe/socket checked, and a path of
news.eternal-september.org:119

Fortunately eternal-september keeps the connection
alive for long enough for Windows 2000 to boot.
I can't really use qemu for Windows 2000 - it seems
that the hard disk drivers are incompatible with what
Virtualbox uses, so I am forced to choose one or
the other. Not sure if there's a way to load Windows
2000 drivers while Virtualbox is being used so that
I can later switch to qemu.

Anyway, the result looks like this:

D:\>comtestw COM1
opening port
sending string
waiting 5 seconds
finished waiting
received 11 characters
received text is:
500 What?


D:\>



ie "500 What?" instead of "OK", because the NNTP
server doesn't know what I'm talking about - which
is fine.


And as noted, under HX, I instead get a return
code of 183 from BuildCommDCB.

But I am impressed that the functions exist at all
and the program loaded.

I guess I need to either make an enhancement request
for the non-commercial version of HX, or add it
myself. Any advice?

Note that the mainframe trying to make contact with
the outside world is like SETI trying to make contact
with Andromeda.

kerravon

E-mail

Sydney, Free World South,
03.05.2025, 09:23

@ kerravon
 

freewindows

My goodness. It works.

I realized I didn't need the DCB functions for what I
was doing, so suppressed them, and reading and writing
works.

I only tried reading 5 characters in case it blocked.

BFN. Paul.


[image]

kerravon

E-mail

Sydney, Free World South,
03.05.2025, 14:25

@ kerravon
 

freewindows

So I needed to make a change to PDPCLIB to deal
with the blocking issue.

And another complication is that HX apparently
uses the underlying DOS capabilities, so although
opening COM1: works on Windows 2000, it doesn't
work on HX (and perhaps not on Windows 95 either).

So I put in a PDPCLIB change to remove the ":" and
that works on both systems.

Next thing I'm planning on doing is using the
mainframe, which uses the underlying Windows
(now HX) system, to connect to a BBS using the
Wazoo method.

Existing BBSes all seem to have a telnet layer
(that wasn't previously the case under dial-up
modem), so I will run my own BBS under PDOS/386
to test.

kerravon

E-mail

Sydney, Free World South,
04.05.2025, 14:08

@ kerravon
 

freewindows

> So I put in a PDPCLIB change to remove the ":" and
> that works on both systems.

Unfortunately things weren't that simple. PDOS/386
required the ":".

But eventually I got it sorted.

If you search for "freewindows" at pdos.org there is
a bigger disk available called freewin2.zip and
that has a mainframe image.

You can run the mainframe, but for some reason
com1 doesn't yet work, so needs to be debugged.

However, I was able to get file transfer operational
between two Freewindows instances.

Documentation for both things is at the bottom of
the readme.txt on the freewin2 disk image.

The source code on the disk image is now out of date,
but it is available on the PDOS/386 disk where I
put out a new image.

Time to consolidate the win.

kerravon

E-mail

Sydney, Free World South,
05.05.2025, 10:12

@ kerravon
 

freewindows

> You can run the mainframe, but for some reason
> com1 doesn't yet work, so needs to be debugged.

I debugged it. There is a new freewin2.zip that
allows mainframe to mainframe communication via
Fidonet protocols!

I will need to translate the filenames to ASCII
next.

Plus debug another issue (CRC errors).

Andromeda here I come!

BFN. Paul.

Oso2k

06.05.2025, 06:04

@ kerravon
 

freewindows

You might also have an interest in https://github.com/Versoft-Software/Free95

RayeR

Homepage

CZ,
06.05.2025, 19:42
(edited by RayeR, 06.05.2025, 19:54)

@ Oso2k
 

freewindows

> You might also have an interest in
> https://github.com/Versoft-Software/Free95

Seems to be like ReactOS but not on NT kernel clone? What kind of win32 apps it can run? Probably only console without much/any other DLL depencies? What to do with os.bin? Seems to be some HDD image, for qemu/what?

Edit: ah, not so far as reactOS nor HX (ran in qemu), very very limited, shell can do just help and cls and run hello.exe

---
DOS gives me freedom to unlimited HW access.

kerravon

E-mail

Sydney, Free World South,
06.05.2025, 07:51

@ kerravon
 

freewindows

> Plus debug another issue (CRC errors).

This was a fascinating problem. As far as I can tell,
the DOS 4.0/HX reading of COM1 is causing the x'1A'
(MSDOS EOF) to be lost. So I joined the people who
zmodem was written for. Mysterious people on
mysterious "networks" where some characters caused
issues. So I added x'1A' to the list of characters
to be escaped.

> I will need to translate the filenames to ASCII
> next.

And I have done this now too. So now I haven't
just made contact with Andromeda, I can understand
what they're saying too.

New freewin2.zip available, plus a pdos.zip that
has the source code that went into it. (at pdos.org)

ie currently both things match.

Next thing would be to get COM1 working for UEFI,
so that a mainframe running on a Macbook M1 gets
access to the outside world.

Plus other environments like PdAndro are probably
possible.

But I will be pausing for now.

BFN. Paul.

Back to index page
Thread view  Board view
22593 Postings in 2101 Threads, 402 registered users, 25 users online (0 registered, 25 guests)
DOS ain't dead | Admin contact
RSS Feed
powered by my little forum