Thread Rating:
  • 0 Vote(s) - 0 Average
  • 1
  • 2
  • 3
  • 4
  • 5
List of files
#21
Hmn. So there are two things possible now. If SBM Productions is running an NT version of windows with a NTVDM that behaves strange when executing shell commands while in vesa (like mine), I can recommend the DIR$ routine using the stardard &H21 dos interrupt.

If this is not the case and the windows if fully compatible with dos (9x), the simpler method of using shell can be used (however, this then won't work on the NT windows versions with obviously weird ntvdm).

Big Grin


Now for the replies...
@ Mac: no file at all was created. I know for sure the executed shell command is valid. Shell just terminated vesa and quit the program. Or sometimes it even crashes.

@ Antoni: I experienced something similar too. Was trying out uGL and one second a program worked, the next second it crashed. WinAmp was playing another song the second time. Also it seemed to conflict with drivers sometimes, making me lose my videodrivers, strangely.
Reply
#22
Thanks for the reply

Right! This is obviously over my head, so I am leaving this thread.

Good luck all

Mac
Reply
#23
Yeah I'm running WinXP right now. And it did spontaneously exit without error message or anything. Either way I'm currently using the dir$ (available in pds71) command to find the files. But it doesn't help much for finding directories.
am part of the legion of n00b. We are numerous if dumb. We will enslave you all!
Reply
#24
Quote:VESA modes can behave very strangely with DOS boxes

I can run with no problem my old jpeg viewer in a DOS box. But if I run one of the Jark's raytracers while WMP is playing music, my computer reboots. Strange...

Hah.. Sometimes I just play music and my computer reboots. Something to do with a particular file type in WMP.

>anarky - Incompatible with most media players.
Screwing with your reality since 1998.
Reply
#25
Quote:Yeah I'm running WinXP right now. And it did spontaneously exit without error message or anything. Either way I'm currently using the dir$ (available in pds71) command to find the files. But it doesn't help much for finding directories.

[syntax="QBasic"]FUNCTION neoDOSsearchDir$ (DirMask AS STRING) STATIC
'searches for a directory
'- DirMask: mask of the directory to find
' => String: search for that directory (e.g. "NEO*LIB")
' => Null String: search for the next directory using previous mask

DIM DTA AS STRING * 44

RegsX.ax = &H1A00
RegsX.dx = VARPTR(DTA)
RegsX.ds = -1
INTERRUPTX &H21, RegsX, RegsX 'set disk transfer address

IF DirMask <> "" THEN
RegsX.ax = &H4E00
RegsX.cx = 16
RegsX.ds = -1
DirMaskZ$ = DirMask$ + CHR$(0)
RegsX.dx = SADD(DirMaskZ$)
ELSE
RegsX.ax = &H4F00
RegsX.cx = 16
END IF
INTERRUPTX &H21, RegsX, RegsX
IF RegsX.flags AND 1 THEN
neoDOSsearchDir$ = ""
ELSE
WhereIsEnd = INSTR(31, DTA, CHR$(0))
ans$ = MID$(DTA, 31, WhereIsEnd - 30)
IF ans$ <> "" THEN ans$ = LEFT$(ans$, LEN(ans$) - 1)
neoDOSsearchDir$ = ans$
END IF
END FUNCTION
[/syntax]
Same code, but with RegsX.cx = 16. This should work according to the interrupt reference.
Reply
#26
Quote:Maybe start reading before posting:
SBM Productions Wrote:I know you could use Shell "dir /b *.*" but it exits to the command prompt when it does that, so I can't use a VESA mode. Any help?
In other words, he doesn't want to use dir.

Yes, but if you read the quote you gave me, it is purely for displaying - my code avoids the error SBM is referring to

:wink:

Oz~
Reply
#27
Hehe. He used that for to indicate an "in-general" situation. Smile

Anyway, ^^ read up again please, and see that the code somehow refuses to work on NTVDMs. The code doesn't avoid anything, it just creates the error, on these systems.
Reply


Forum Jump:


Users browsing this thread: 1 Guest(s)