Jump to content
IGNORED

Extending SDX? Command line history


svhovater

Recommended Posts

1 hour ago, svhovater said:

I use the command line history in Linux all the time. Wonder if anyone has implemented something similar in SDX?

(First rule of development- check to see if someone else has already done it.)

Yes - DOSKEY has been implemented for quite some time.  We can have TAB to autofill filenames, and up&down to traverse through history.

  • Like 1
Link to comment
Share on other sites

I am interested in this too, however when I look at the toolkit.atr there's nothing called DOSKEY on the disk.

 

I've searched all subdirectories.

 

Edit:never mind, found it on that CAR: thanks anyway

 

Edited by TGB1718
Update
Link to comment
Share on other sites

I wonder what percentage of SDX users realize that the CAR: device exists.

 

New users, if you do not want to read the User's Manual, pro-tip: once you get to the command prompt, do DIR CAR:*.COM and DIR CAR:*.SYS

 

You will get a list of various programs residing on the cartridge. The *.SYS stuff is mostly resident, the *.COM stuff is mostly transient programs.

 

Now you can try them out one by one to see what happens, and regardless of the results (confusing or not) you can always get back to the relevant section of the User's Manual, which has the Table of Contents, Indexes and is generally in the form of searchable PDF file. There are also online manuals, so if you find, for example, a FOO.COM, a command like

 

MAN FOO

 

may bring the relevant information just straight to the display ("may" because not all cartridges are of capacity great enough to contain the manuals).

  • Like 8
Link to comment
Share on other sites

59 minutes ago, drac030 said:

may bring the relevant information just straight to the display ("may" because not all cartridges are of capacity great enough to contain the manuals).

I created a "MAN" directory and set the MANPATH to point to it:-

D1:SET
BOOT=I:>
PROMPT=D$N
SYSERR=CAR:SYSERR.MSG
MAXDRV=O:
PATH=CAR:;D6:\BIN\;D5:\BAT\
MANPATH=D6:\MAN\

 

I put all the .MAN documents there, also

When I install anything that has a .MAN document, I copy it there too, so its available to the MAN command

Edited by TGB1718
Link to comment
Share on other sites

On 6/16/2020 at 2:48 AM, Stephen said:

Yes - DOSKEY has been implemented for quite some time.  We can have TAB to autofill filenames, and up&down to traverse through history.

I'd think that would be pretty memory hungry and slow. Consider typing MI<TAB> to start MIDIPL13.XEX which is somewhere in your path. It would have to index all binaries in your path, then sort/pattern match and BELL if there are more than one way to complete. Pressing TAB again would show all the possible completions, like bash does. Could be done probably, but I doubt if it would be helpful. Sometimes it's even slow on a pretty decent Linux machine if you try to complete an image filename in a directory with a couple of thousand images. Don't underestimate disk i/o, too, btw.

 

Edit: LOL I pressed TAB instead of typing it and then pressed Enter, saving the post :)

 

Edited by ivop
Link to comment
Share on other sites

38 minutes ago, ivop said:

Could be done probably, but I doubt if it would be helpful

What happy bastards we are that mono did not know that it was memory hungry, slow and unhelpful, before he sat and has many years ago implemented the TAB filename completion in DOSKEY...

  • Like 4
  • Haha 1
Link to comment
Share on other sites

OK, didn't know about that. Probably never pressed TAB at the command line, or to complete an argument. Thanks mono!

 

Edit: And of course it's helpful, unless it's too slow. That's what I meant. Nothing negative. So, what are the memory requirements, extended banks, speed, etc...?

 

Edit: OK, I'm even dumber than I thought. Stephen said:

 

On 6/16/2020 at 2:48 AM, Stephen said:

We can have TAB to autofill filenames

Emphasis mine. Perhaps I should get new glasses :D

Edited by ivop
Link to comment
Share on other sites

24 minutes ago, ivop said:

OK, didn't know about that. Probably never pressed TAB at the command line, or to complete an argument. Thanks mono!

 

Edit: And of course it's helpful, unless it's too slow. That's what I meant. Nothing negative. So, what are the memory requirements, extended banks, speed, etc...?

 

Edit: OK, I'm even dumber than I thought. Stephen said:

 

Emphasis mine. Perhaps I should get new glasses :D

Sorry - poor grammar there.  What I meant to say is that when using DOSKEY, we have TAB for auto-complete.  Meaning, if one uses DOSKEY, they can have TAB to auto-complete their entries.

  • Like 1
Link to comment
Share on other sites

23 minutes ago, Stephen said:

Sorry - poor grammar there.  What I meant to say is that when using DOSKEY, we have TAB for auto-complete.  Meaning, if one uses DOSKEY, they can have TAB to auto-complete their entries.

And another misunderstanding? That's exactly what I meant to emphasize :) Probably should have picked have. But the point was, I misread can for can't. New glasses, etc...

So everybody, DOSKEY already supports autocomplete!

Edited by ivop
Link to comment
Share on other sites

Anyone else tried using the ALIASES.INI file to create aliases, what I find is that I can create aliases ok,

but when I use them any of them work the first time I try one, if I try another, I get either the message

"File not found" or it hangs, a warm start although come back to the DOS prompt and everything works

except for the aliases.

 

A cold start and it works on any one, just once, strange behaviour

ALIASES.INI File

 

MOVE=COPY /M
HALT=COLD /N
CM=CD MAC65
MAC=-D5:\BAT\MAC.BAT
BUG=-D5:\BAT\BUG.BAT
BUG4=-D5:\BAT\BUG4.BAT
BUG6=-D5:\BAT\BUG6.BAT
BUG8=-D5:\BAT\BUG8.BAT
ALIAS=TYPE D9:ALIASES.INI

 

 

CONFIG.SYS File

 

D9:TYPE CONFIG.SYS
DEVICE SPARTA OSRAM
DEVICE SIO
DEVICE ATARIDOS
DEVICE INDUS 4
DEVICE ULTIME
DEVICE JIFFY
DEVICE FATFS
; DEVICE RAMDISK
DEVICE DOSKEY ALIASES.INI
SET PATH=CAR:;D6:\BIN\;D5:\BAT\
SET MANPATH=D6:\MAN\

 

Screen after Cold Start:-

 

U1MB SIDE PBI BIOS v.3.10, dev. 0
Ultimate clock installed
FATFS v.0.87L
DOSKEY: loaded 9 aliases

SpartaDOS X 4.49 8-04-2020
Copyright (C) 2020 by FTe & DLT
"DRIVES D5: D6: D7: D8: D9: AND DO:"

D5:

 

  • Thanks 1
Link to comment
Share on other sites

On 6/18/2020 at 9:49 AM, drac030 said:

I wonder what percentage of SDX users realize that the CAR: device exists.

Dude.  When I realized this - and by "realized" I mean was told by FJC - I immediately UNARCed all of the tools and MaxFlashed a new Sparta image onto MyIDE-II.  It completely changed the game.  It just makes the OS feel so much more complete.  Now if I can just get an 80-column setup working from the Sophia.  Haven't tried yet.  Don't know where to start.

Edited by pixelmischief
  • Like 1
Link to comment
Share on other sites

5 minutes ago, pixelmischief said:

Now if I can just get an 80-column setup working from the Sophia.  Haven't tried yet.  Don't know where to start.

Sophia doesn't add any additional graphic modes, so the highest resolution you'll get is still Graphics 8. SDX has a software 80 column mode that is pretty legible when viewed through a good S-video-capable display. I'd guess a SOPHIA's RGB or DVI display would make it even more so.

 

Link to comment
Share on other sites

11 hours ago, Roydea6 said:

if aliases.ini is on D9:  shouldn't it be included in you set path

Aliases.ini is read in during boot by DOSKEY, it says the aliases reside in extended RAM, so shouldn't

need to access them off D9:

 

However, just in case, I also set the path to include D9:, reboot and it still hangs after 1 or 2 aliases.

 

I thought initially it was because some of my aliases are used to run batch files, but I just tried 2 that don't.

 

The first one simply does a TYPE D9:ALIASES.INI so I can see the aliases that have been set,

the second just does a CD into my MAC65 directory which then hung.

 

Anyone else seeing this sort of behaviour

Link to comment
Share on other sites

13 hours ago, TGB1718 said:

Anyone else tried using the ALIASES.INI file to create aliases, what I find is that I can create aliases ok,

but when I use them any of them work the first time I try one, if I try another, I get either the message

"File not found" or it hangs, a warm start although come back to the DOS prompt and everything works

except for the aliases.

Well, it seems it does not work correctly indeed. Congratulations, then, on discovering the first bug in 4.49. It must have been busted somewhere in the process of fixing other things in DOSKEY. I did not notice it probably because I use Sparta Commander all the time.

 

Hopefully it will not be difficult to fix.

  • Like 3
Link to comment
Share on other sites

2 minutes ago, drac030 said:

Hopefully it will not be difficult to fix.

Many thanks for the update, I had tried eveything to fix it, I will wait for the fix to be applied

 

thanks again

Edited by TGB1718
Spelling
Link to comment
Share on other sites

2 hours ago, TGB1718 said:

Aliases.ini is read in during boot by DOSKEY, it says the aliases reside in extended RAM, so shouldn't

need to access them off D9:

 

However, just in case, I also set the path to include D9:, reboot and it still hangs after 1 or 2 aliases.

 

I thought initially it was because some of my aliases are used to run batch files, but I just tried 2 that don't.

 

The first one simply does a TYPE D9:ALIASES.INI so I can see the aliases that have been set,

the second just does a CD into my MAC65 directory which then hung.

 

Anyone else seeing this sort of behaviour

I haven't had it hang, but I believe I am only using one alias - COPY /M for MOVE and that does not delete the file, it only copies it.

Link to comment
Share on other sites

13 minutes ago, DrVenkman said:

So can anyone really explain in idiot’s terms what DOSKEY does besides using TAB to suggest auto-complete commands? There’s no MAN for it, I guess? 

The manual (starting on page 180) probably describes DOSKEY's functions best:

 

http://sdx.atari8.info/sdx_files/4.48/SDX448_User_Guide.pdf

 

  • Like 2
Link to comment
Share on other sites

It keeps a history of your command lines I think max 127 entries, by using the UP/DOWN arrow you can retrieve

previous commands and re-use them or edit them and use the edited version.

 

As you said, TAB shows autocomplete if you start typing something, not really found a use for that, seems to throw up

tons of useless data.

 

Also as this thread says, it can also allow you to "ALIAS" commands, so if you have some commands you use often

you can put these into a file ALIASES.INI on your boot partition and in CONFIG.SYS add a line

DEVICE DOSKEY ALIASES.INI

 

and DOSKEY will read these aliases in and confirms on the boot screen

 

an example of an alias, I generally boot, then CD to MAC65 directory, I create an alias:-

 

CM=CD MAC65

 

so when I now type CM it does a CD to MAC65 directory

 

Aliases are limited to single instructions, I tried using multiple command seperated by "&" but it didn't work,

what does work is making an alias that runs a batch file e.g.

MAC=-D5:\BAT\MAC.BAT
BUG=-D5:\BAT\BUG.BAT
BUG4=-D5:\BAT\BUG4.BAT
BUG6=-D5:\BAT\BUG6.BAT
BUG8=-D5:\BAT\BUG8.BAT

 

Each of those aliases runs the batch file which can contain anything legal for batch file processing.

 

so when I type MAC it loads MAC65 and I see a message saying "LOADING MAC65..."

 

MAC.BAT file:-

 

ECHO "LOADING MAC65..."
X D6:\BIN\MAC.COM

 

I use the BUG ones to load BUG65 into different areas of memory

 

BUG loads into $2000

BUG4 into $4000

 

etc. etc.

  • Like 1
Link to comment
Share on other sites

40 minutes ago, TGB1718 said:

It keeps a history of your command lines I think max 127 entries

I think it may be more like 240.

 

41 minutes ago, TGB1718 said:

As you said, TAB shows autocomplete if you start typing something, not really found a use for that, seems to throw up

tons of useless data

It lists the possible choices. It will only autocomplete if the string you have typed so far is unambiguous. So e.g. DI<TAB> will list DIR, DIRS and DISKRX, but if you typed DA<TAB>, it will autocomplete to DATE. ME<TAB> is MENU, MEM or MEMINFO, but MEN<TAB> will autocomplete to MENU. And so on.

Link to comment
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.
Note: Your post will require moderator approval before it will be visible.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Loading...
  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...