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

Ligao, Free World North,
19.05.2025, 01:38
 

BOOTPATH (Developers)

I believe MSDOS has a "bootdrv" or similar concept
or perhaps environment variable.

Regardless of what currently exists, with PdAndro,
where the equivalent of "DOS" gets started in
/storage/emulated/0/Download
I need a BOOTPATH instead, which would be set to the above.

And then I will be able to point to all my executables
by going:

PATH %BOOTPATH%\dos

The infrastructure will translate \ to / so that you
can troll around your smartphone as if it were DOS.

Any issue with that as the new system variable?

Guti

Homepage

20.05.2025, 16:11

@ kerravon
 

BOOTPATH

What would be the advantage other than eatting some bytes of environment memory?

---
Visit my personal blog at https://www.javiergutierrezchamorro.com

kerravon

E-mail

Ligao, Free World North,
21.05.2025, 04:46

@ Guti
 

BOOTPATH

> What would be the advantage other than eatting some bytes of environment
> memory?

How else can I set the PATH in my autoexec.bat?

Hardcode what my Android phone happens to set
the boot path to?

Then my OS may not work on another phone
(not all Android phones are identical),
or even on real hardware where the BOOTPATH
would be C:\

BFN. Paul.

Guti

Homepage

21.05.2025, 08:34

@ kerravon
 

BOOTPATH

SET BOOTPATH=C:
SET PATH=%BOOTPATH%\dos;%PATH%

---
Visit my personal blog at https://www.javiergutierrezchamorro.com

kerravon

E-mail

Ligao, Free World North,
21.05.2025, 10:48

@ Guti
 

BOOTPATH

> > How else can I set the PATH in my autoexec.bat?

> SET BOOTPATH=C:
> SET PATH=%BOOTPATH%\dos;%PATH%


That's the wrong value when running "DOS" on
my Android. My executables are in

/storage/emulated/0/Download/dos

aka

\storage\emulated\0\Download\dos


BFN. Paul.

bretjohn

Homepage E-mail

Rio Rancho, NM,
21.05.2025, 17:41

@ kerravon
 

BOOTPATH

> That's the wrong value when running "DOS" on
> my Android. My executables are in
>
> /storage/emulated/0/Download/dos
>
> aka
>
> \storage\emulated\0\Download\dos

DOS requires a drive letter to work properly -- it won't understand "\storage\emulated\0\Download\dos" without a drive letter (like "D:") in front of it. In certain situations you can get away with network services by starting them with a double-backslash ("\\"), but even in those cases you must reference the server and not just the directories.

What DOS drive letter is assigned to the "root" of "\storage\..."?

Also, I wouldn't think Android (or you) would want a virtual DOS session to have access to anything above the "\dos" level at the end of the subdirectory string (at least not by default).

FWIW, I use SUBST/SWSUBST to assign alternative/virtual drive letters to subdirectories all the time, but SUBST still requires a "real" drive letter to start from.

kerravon

E-mail

Ligao, Free World North,
22.05.2025, 02:14

@ bretjohn
 

BOOTPATH

> > That's the wrong value when running "DOS" on
> > my Android. My executables are in
> >
> > /storage/emulated/0/Download/dos
> >
> > aka
> >
> > \storage\emulated\0\Download\dos
>
> DOS requires a drive letter to work properly -- it won't understand
> "\storage\emulated\0\Download\dos" without a drive letter (like "D:") in
> front of it.

Yes it does. That's the "current drive".

So that is designed to work regardless of whether
you boot from floppy or hard disk or - Android phone.

If a specific flavor of DOS - e.g. a modified MSDOS 4.0,
has BOOTPATH added, then we could make it put in a full
path, ie C:\

But PDOS-generic (ie another flavor of DOS - depending
on what on earth "DOS" means when ported to ARM), only
has the one drive, so no letter is required.

At least that's how it currently is. PDOS-generic, unlike
PDOS/386, has been deliberately left in a primitive state
so that issues like BOOTPATH can be found before anything
is set in stone. Currently "dir" is very crude because I
am waiting for comp.lang.c to approve a C90 extension to
provide directory access.

So I don't have a problem with making an artificial C
drive, if that is what is desired.

> In certain situations you can get away with network services
> by starting them with a double-backslash ("\\"), but even in those cases
> you must reference the server and not just the directories.
>
> What DOS drive letter is assigned to the "root" of "\storage\..."?

A more appropriate question might be - which particular
operation are you doing that requires a drive letter?
I write in C90. I don't hardcode filenames. fopen()
is normally given a parameter from the user. There is
no reason to force the user to include a drive letter.

> Also, I wouldn't think Android (or you) would want a virtual DOS session to
> have access to anything above the "\dos" level at the end of the
> subdirectory string (at least not by default).

Ah - but that's exactly what I want!

I want to turn my Android phone into MSDOS. I can
now reclaim my disk drive. ie cd to wherever I want.
Instead of being forced to use a GUI.

And I can run native ARM applications at full speed.
Without needing to jailbreak.

Not only that, but the ARM applications are valid
Win32 ARM executables. So you can buy an ARM Windows
PC. I don't know if Microsoft is going to disable
the ability to run ARM32 windows executables, so I
keep my ARM PC disconnected from the internet.

It still forces me to connect to the internet to do
some sort of password verification, but after that
is done, I disconnect before it has a chance to
download a system update.

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