VOGONS


First post, by Planet-Dune

User metadata
Rank Member
Rank
Member

So I wanted some form of matrix rain effect using Dos 3.30. Now I quickly figured out this wasn't going to be easy .. the programs floating around are usual windows based, the batch files I found don't work as they are made with a latter Dos version in mind.. stuff like "%random%" doesn't seem to work..

After some thinking I figured I just wimp out and do a simple loop command with 20 or so prewritten echo lines.. now I must be missing something really obvious but my batch file does not work (just with 3 test lines).. the echo's work but the loop does not (it doesn't jump to the label, it just spells out "goto start" instead of actually doing it.. what am I missing?

Attachments

Reply 1 of 14, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hm. Maybe the :start must be at the very beginning of the line, not sure.
From what I can see, a space character is present. Maybe DOS 3.x can't handle this.
Edit: Also try a capital letter (:Start or :Begin)..

Otherwise, this shoukd work. :
https://www.robvanderwoude.com/goto.php

I'm sorry, I played around with batch files when I was little.
But on a 286 with MS-DOS 6.2, mainly.
PC-DOS 3.30 was cool, though. So small, so quick. And not from Microsoft.

Also, it could run Windows 2.03 without the need to fake an older DOS version. 😁

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 2 of 14, by Planet-Dune

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2020-09-21, 03:09:
Hm. Maybe the :start must be at the very beginning of the line, not sure. From what I can see, a space character is present. May […]
Show full quote

Hm. Maybe the :start must be at the very beginning of the line, not sure.
From what I can see, a space character is present. Maybe DOS 3.x can't handle this.
Edit: Also try a capital letter (:Start or :Begin)..

Otherwise, this shoukd work. :
https://www.robvanderwoude.com/goto.php

I'm sorry, I played around with batch files when I was little.
But on a 286 with MS-DOS 6.2, mainly.
PC-DOS 3.30 was cool, though. So small, so quick. And not from Microsoft.

Also, it could run Windows 2.03 without the need to fake an older DOS version. 😁

Tried the no space thing yesterday already bto no avail. It just outputs the 3 echo lines and then also echo's "Goto start" as if it does not know what to do with it.. but it doesn't echo the ":start" line so I assume (as it doesn't give any error either on bad commands) it does handle that part fine..

Reply 5 of 14, by Jo22

User metadata
Rank l33t++
Rank
l33t++
JudgeMonroe wrote on 2020-09-21, 14:54:
Jo22 wrote on 2020-09-21, 03:09:

PC-DOS 3.30 was cool, though. So small, so quick. And not from Microsoft.

I got bad news for you.

?

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 6 of 14, by JudgeMonroe

User metadata
Rank Member
Rank
Member
Jo22 wrote on 2020-09-21, 15:19:
JudgeMonroe wrote on 2020-09-21, 14:54:
Jo22 wrote on 2020-09-21, 03:09:

PC-DOS 3.30 was cool, though. So small, so quick. And not from Microsoft.

I got bad news for you.

?

It's from Microsoft.

Reply 7 of 14, by Planet-Dune

User metadata
Rank Member
Rank
Member
JudgeMonroe wrote on 2020-09-21, 15:00:

What version of DOS exactly are you running (show output of "ver")? Both PC/MS-DOS 3.3 support the goto/label batch commands and it does work fine locally when I try it.

It is DOS 3.20 (I thought it was 3.30 honestly but there you go) Shouldn't matter however:

Quote:
The Goto command transfers execution to a specified label. Labels are specified at the beginning of a line, with a colon (:likethis).
The command is available in MS-DOS versions 2 and later.

Reply 8 of 14, by konc

User metadata
Rank Oldbie
Rank
Oldbie
Planet-Dune wrote on 2020-09-21, 18:00:
It is DOS 3.20 (I thought it was 3.30 honestly but there you go) Shouldn't matter however: […]
Show full quote

It is DOS 3.20 (I thought it was 3.30 honestly but there you go) Shouldn't matter however:

Quote:
The Goto command transfers execution to a specified label. Labels are specified at the beginning of a line, with a colon (:likethis).
The command is available in MS-DOS versions 2 and later.

Labels do work in 3.2. You can easily verify it by using a non-existent label and you'll get a message similar to "label not found"
However jumping to an earlier part of the file is not supported, only going forward. This works (and doesn't echo anything of course):

goto end
echo asdf
:end

From 3.3 and onwards you can jump to a label anywhere in the file

There's another problem with 3.2 and batch files though, which I believe you have already experienced: you can't use @ to hide the command executed. So you must be seeing on screen

echo abc
abc
echo def
def

etc

Reply 9 of 14, by Planet-Dune

User metadata
Rank Member
Rank
Member
konc wrote on 2020-09-21, 19:01:
Labels do work in 3.2. You can easily verify it by using a non-existent label and you'll get a message similar to "label not fou […]
Show full quote
Planet-Dune wrote on 2020-09-21, 18:00:
It is DOS 3.20 (I thought it was 3.30 honestly but there you go) Shouldn't matter however: […]
Show full quote

It is DOS 3.20 (I thought it was 3.30 honestly but there you go) Shouldn't matter however:

Quote:
The Goto command transfers execution to a specified label. Labels are specified at the beginning of a line, with a colon (:likethis).
The command is available in MS-DOS versions 2 and later.

Labels do work in 3.2. You can easily verify it by using a non-existent label and you'll get a message similar to "label not found"
However jumping to an earlier part of the file is not supported, only going forward. This works (and doesn't echo anything of course):

goto end
echo asdf
:end

From 3.3 and onwards you can jump to a label anywhere in the file

There's another problem with 3.2 and batch files though, which I believe you have already experienced: you can't use @ to hide the command executed. So you must be seeing on screen

echo abc
abc
echo def
def

etc

But if you can only jump forward you cannot do a loop right? Or am I missing something? The whole point of going backwards is that you repeat something that already happened.

Reply 10 of 14, by mkarcher

User metadata
Rank Member
Rank
Member
Planet-Dune wrote on 2020-09-21, 19:29:

But if you can only jump forward you cannot do a loop right? Or am I missing something? The whole point of going backwards is that you repeat something that already happened.

If I remember correctly, if you start a second batch file from a batch file without using the CALL command, it's actually jumping to the batch file, and there is no stack that can overflow. So if you re-start the batch file at the end by just invoking it, you should guess your endless loop.

Reply 11 of 14, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Hi! Why not just upgrade to DOS 3.30?
Is the installed version of 3.2 a special OEM version, by any chance?

JudgeMonroe wrote on 2020-09-21, 15:28:
Jo22 wrote on 2020-09-21, 15:19:
JudgeMonroe wrote on 2020-09-21, 14:54:

I got bad news for you.

?

It's from Microsoft.

Oh. Well, it somehow had to be, I guess. 🙁
Though PC-DOS 3.x started the independant development of IBM-DOS, maybe.
If memory serves, the programmers at IBM started to do changes on their own at this time.

Edit: http://www.os2museum.com/wp/dos/dos-3-3/

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 12 of 14, by konc

User metadata
Rank Oldbie
Rank
Oldbie
Planet-Dune wrote on 2020-09-21, 19:29:

But if you can only jump forward you cannot do a loop right? Or am I missing something? The whole point of going backwards is that you repeat something that already happened.

Correct, I don't know if there is any other way to loop in a batch file in 3.2, but considering the second problem you'll face I didn't even bother to search.
I think you'll be better off writing (or having someone write for you) a small program that outputs to screen, it's literally only a couple of lines.
btw I believe that if you see the batch file approach actually running on a newer dos you won't be that satisfied with it, but that's another discussion

Reply 13 of 14, by BinaryDemon

User metadata
Rank Oldbie
Rank
Oldbie

Not sure about dos 3.2 specifically but that should work, and you should be able to jump backwards... maybe 'start' is a reserved word?

Nevermind read Konc's post.

Check out DOSBox Distro:

https://sites.google.com/site/dosboxdistro/ [*]

a lightweight Linux distro (tinycore) which boots off a usb flash drive and goes straight to DOSBox.

Make your dos retrogaming experience portable!

Reply 14 of 14, by Jo22

User metadata
Rank l33t++
Rank
l33t++

Any news?

From what I remember, there used to be batch file compilers that turned batch files into *.com and *.exe files. 😀
They were available at the usual shareware, freeware and public domain sources.

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//