Jump to content
IGNORED

Need help with disk-access commands.


Recommended Posts

Hi,

 

I have a bunch of A8 games on disk. I just got my 1050 hooked up to my 800xl, but I have don't know how to access the disk drive to load and run programs from the 'ready' prompt. I know nothing about the A8 DOS (I grew up using an A2). Because they are all original game titles, I expected some of the disks to self-load...maybe they should, but all I get is the 'ready' prompt. Could someone provide me with the basic disk-access commands, i.e., get a directory, load programs, run programs, boot from disk, etc.

 

Thanks in advance.

Link to comment
Share on other sites

If you want to load a disk, all you have to do is turn the disk drive on, insert the disk, close the latch, and turn on the computer. As for saving, I'm not too sure about that. I think you might need a DOS disk (preferablly version 2.5 because it's been often called the best DOS) to save stuff.

Link to comment
Share on other sites

Note: for most commercial programs you need to deactivate the built-in Basic when turning on the computer (hold down the option key). When it's powered up, the disk drive should take over if the disk is not corrupted.

 

Boot programs are so named because they load directly from the drive when the system is powered up. Dos 2.x itself is a boot program...and consists of two main files, DOS.SYS and DUP.SYS. DOS.SYS is the part that handles reading and writing to the disk, and DUP.SYS is the menu program for it. If you never plan on using the menu on a disk, you can erase DUP.SYS and the disk will still boot.

To access the menu, simply type in DOS and one will come up if DUP.SYS is on the disk. To read a directory, use the first selection (A) and use D:*.* as the filename. (more on those *'s at the end of this post)

 

Anyway, for programming the computer I'm going to assume that you are preferring to Basic Programming. Boot up a disk that contains DOS.SYS with Basic enabled. You will see the READY prompt. The Basic commands are:

LOAD"Dn:filename.ext" to load a Basic program from the disk.

SAVE"Dn:filename.ext" to save a Basic program to the disk.

In both examples, enter the drive number in place of the n, and the actual filename and extension for filename.ext. The filename is a maximum of 8 alphanumaric characters with no spaces, and the extension is a maximum of 3. Sort of like the old PC 8.3 format, except that you can only use uppercase alphanumaric characters (no spaces), and the first character of the filename MUST be a letter. The extension is optional...and not required when naming programs during the save, but the filename must at least contain 1 letter.

If you are only using drive 1, you also don't need to specify the drive number. If you just use D, drive 1 is assumed.

Examples:

LOAD"D1:HELLO"

LOAD"D:HELLO"

LOAD"D1:HELLO."

LOAD"D:HELLO."

...would all load a Basic program named "HELLO" from the disk in drive 1. If you are going to execute the program immediately, you could also substitute the RUN command for LOAD. Some commercial programs written in Basic will only execute with the RUN command (i.e. so you can't LIST the program after loading it). An example would be RUN"D:TELENGRD.BAS" to load and run a file named "TELENGRD.BAS" from drive 1.

Since the computer can write files to a disk that are not written in Basic, many people use the extension "BAS" to signify that it is a Basic program (one that requires the LOAD command to access). So it might be helpful if you use that extension as well when saving programs that you make.

Examples:

SAVE"D1:HELLO"

SAVE"D:HELLO"

SAVE"D1:HELLO."

SAVE"D:HELLO."

...would all SAVE a Basic Program named "HELLO" to the disk in drive 1.

and...

SAVE"D1:HELLO.BAS"

SAVE"D:HELLO.BAS"

...would both SAVE the program named "HELLO" with the "BAS" extention.

 

If that filename is already used, the file will be overwritten. To minimise the chance of this happening, you can "lock" files on the disk so that no changes to that file can be made. There is a "multiple-purpose" command used in these types of disk writes called XIO. That command handles all the things that affect the disk directory, such as locking, unlocking, deleting, & renaming files...as well as formatting a new disk. Here are those commands:

XIO 32,#1,0,0,"D:HELLO,HELLO.BAS" would rename a file named "HELLO" on the disk in drive 1 to "HELLO.BAS"

XIO 33,#1,0,0,"D:JUNK" would delete the file named "JUNK" from drive 1. This will simply change a directroy byte from the file's entry so that it will no longer appear...but the file is really still there (you can use a file recovery program to "revive" a deleted file...provided that later disk writes haven't overwritten the disk sectors it occupied).

XIO 35,#1,0,0,"D:HELLO.BAS" will "lock" the file named "HELLO" to protect it from disk writes (sort of like making a file read-only on the PC)

XIO 36,#1,0,0,"D:HELLO.BAS" ...and removes that protection (if you want to modify or delete it).

XIO 254,#1,0,0,"D:" will format a disk in drive 1 in "single density" format (i.e. a disk that can be read using the older 810 drive). Be careful, because the entire disk will be erased with no chance of recovery.

XIO 255,#1,0,0,"D:" ...and this one will format using "enhanced density" (ones that can only be read from a dual-density drive like the 1050).

In some commands, wildcards can be used. A wildcard is a character that will allow you to match multiple files...and DOS uses two of them (* and ?).

Examples:

XIO 35,#1,0,0,"D:*.*" will "lock" the every file on the disk.

XIO 36,#1,0,0,"D:HELLO.*" will unlock every file named "HELLO" with any extension. i.e. HELLO.TXT, HELLO.1, HELLO.BAS, will all be unlocked.

XIO 35,#1,0,0,"D:HELL*.*" will "lock" the every file on the disk whose filenames begin with "HELL"

XIO 35,#1,0,0,"D:HELL?.*" will "lock" the every file on the disk whose filenames begin with "HELL" and are 5 characters long only (see, that wildcard only replaces 1 character)

XIO 35,#1,0,0,"D:HE??O.*" will "lock" the every file on the disk whose filenames begin with "HE", end with "O", and are 5 characters long only.

Confusing? Of course...that is why the menu program DUP.SYS was created. It can do all of these with only a couple keystrokes...as well as other things (like reading a disk directory, or loading/saving a machine language file). To access the menu from Basic, you just type in DOS. Keep in mind that a Basic program in memory will be lost unless you enable the "MEM.SAV" option in the DOS menu (really, all it does is save the file currently in memory to the disk whenever the DOS command is typed...when you exit the menu, it is loaded back in).

There are two other commands that you can use to create programs that DO NOT erase the program currently in memory. Those are LIST and ENTER. You might know that LIST will show you the Basic program in memory, listing every line on the screen or specified ones. But you can also send that output to a disk file if you wish. In that way, the text that would have gone to the screen goes to a disk file instead.

Examples:

LIST"D:PROGRAM" will create a text file named "PROGRAM" on drive 1 that consists of all the Basic lines in memory.

...and...

LIST"D:ROUTINE.TXT",200,300 will create a text file named "ROUTINE.TXT" consisting of just the lines from 200 to 300. This is useful since you can create files of frequently used routines as text so you can use them with future programs (without having to type them all in again).

If you want to load LIST-created lines back into memory, you need to use the ENTER command. Any Basic file that is currently in memory will not be altered, unless some of the line numbers are the same in the LISTed one.

ENTER"D:ROUTINE.TXT" will add any lines from "ROUTINE.TXT" to the Basic program in memory. If line number 10 exists in ROUTINE.TXT, for example, that line will replace line 10 in memory. So you'll need to take care of remembering which lines the LISTed file occupies to keep from corrupting your Basic program you are working on ;) For that reason, some people use very high line numbers for the LISTed routines...and then just renumber them (or simply GOSUB to them when they are needed in the program).

Link to comment
Share on other sites

@Nukey -- Thanks for the info and for taking the time to type it out. I appreciate it. :)

 

I'm an A8 neophyte. I'm currently just trying to get some of the game disks I have to boot from one of my 1050s, but I'm not getting anywhere. The computer only boots to the 'ready' screen. After I insert a disk, the disk-drive will spin for some time, then shut off, but no game loads. I've tried several different disks with the same results. I've tried everything I can think of, but I'm stuck. Is there something else I need to do?

Link to comment
Share on other sites

Note: for most commercial programs you need to deactivate the built-in Basic when turning on the computer (hold down the option key).  When it's powered up, the disk drive should take over if the disk is not corrupted.

 

 

This is probably the main thing you need to try before you boot your game up.

Link to comment
Share on other sites

Yep, with most commercial games you shouldn't even SEE the "Ready" prompt (because most games are written in machine language, and need Basic to be deactivated). If you are still seeing it after holding down option while turning on the computer...maybe the key isn't working (?)

 

 

BTW here is a handy program that allows you to view a disk directory without going to the DOS menu, and it won't affect the program in memory. Type in this with no line number in Basic exactly as shown:

 

CL.#1:CLR:DIMZ$(18):o.#1,7,Ø,"D1:*.*":F.Z=1TO66:I.#1,Z$:?Z$:N.Z

 

Not as quick as A2's CATALOG command, but pretty short. You can make this even shorter by saving a routine on a disk as a text file and using the ENTER command to use it. Put the disk that you use to boot to Basic in Drive 1, go to the DOS menu, and choose item C (copy file). When it asks "FROM/TO?", type in E:,D:DIR...then type this:

 

CL.#1:CLR:DIMZ$(18):Z$="D1:*.*":?"Which Drive?":O.#1,4,Ø,"K:":GET#1,Z:CL.#1:IF Z<49ORZ>56THENSTOP

{enter}

Z$(2,2)=CHR$(Z):o.#1,7,Ø,Z$:F.Z=1TO66:I.#1,Z$:?Z$:N.Z

{enter}{break}

 

When you hit the break key, it will generate an error (don't panic) and the file will be written to the disk. Now go back to Basic by hitting B, and type this line:

ENTER"D:DIR"

You will be asked for the drive number (so you can swap disks if you need to), and the disk directory will spill out on the screen...followed by an error as it reaches the end of the file (see below). You can copy that DIR file to any disk that you use when making your own programs, or just keep it on the DOS disk...but it must be in drive 1 when you type ENTER"D:DIR".

post-222-1066972428_thumb.jpg

Link to comment
Share on other sites

If you are still seeing it after holding down option while turning on the computer...maybe the key isn't working (?)

 

Actually, I think it's probably the disk drives that aren't working. I worked on this problem for an hour tonight and I still couldn't get any disks to boot. The best I managed was a scrolling "boot error". I've come to the conclusion that both drives are shot, which dosen't surprise me, they came from a thrift store. I guess I'll purchase a drive in known working condition and go from there.

 

Thanks for all your help and for the directory program.

Link to comment
Share on other sites

If you are getting the boot error message, it means that at least the drives are receiving power and the computer is detecting them. Are the "doors" on the drives closed when you try to boot them? (move the lever downward after inserting a disk). Are the disks faceup in the drive? (sticker-side up, with the oval area toward the drive). Is either drive configured to be drive 1? (those little switches inside the back area of the drive). Looking at the back of the drive, both the black and white switch should point to the left to be drive 1.

Link to comment
Share on other sites

Yes, disk orientation is correct and drive door latches are shut. I don't know what the specific switch positions do, but I tried both drives in every possible combination. I also tried both cable sockets on each drive with each switch postition. There are two switches, a black and a white, what position should the be in?

Link to comment
Share on other sites

One needs to be drive #1 (where both switches are to the left as you look at them)...and if you use both drives at the same time, the other one needs to be drive 2 (with only the black switch to the right if I remember correctly).

Does the drive "in use" light come on when you insert a disk? How does it sound, a smooth whirr? If not, the drive speed might be a bit slow. There's a thread around here that shows how to adjust that...

Link to comment
Share on other sites

Nope...the Atari hardware uses "daisy chaining" for it's equipment (which is why there are two ports). It doesn't matter which one gets the cable.

 

Unless one is busted tho. But I find it hard to believe that both of them on both drives are busted...especially since the computer detects the drives.

 

Note: to get around the boot error when using the drive speed program, turn the drive on AFTER you turn the computer on (yes, I know that's backwards)...and then insert a disk that you can live without (just in case).

 

I typed a smaller version of that drive speed program at the bottom of the thread. How about that original?? Sheesh...you just KNOW that Carl wears a pocket protector :lol:

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...