Jump to content
IGNORED

Weird ERROR 130 error in DOS 2.5


Marius
 Share

Recommended Posts

Hi all,

 

With the SETUP.COM program I modified a DOS 2.5 install. I wanted to be able to access D1: D2: D3: D4: and D8:

 

I also entered files to be open simultaneously: 4

 

I saved back the DOS, and everything works fine.

 

But...

 

As soon as I copy a file (which works without a problem btw) when the filecopy is done there is this ERROR 130.

 

After that ERROR message everything works fine thought.

 

Problem is with this error, is that I can not do a copy *.* since after every FILE the error comes up, and stops the copy process.

 

Is the problem in that files to be open simultaneously amount (4)?

 

I hope someone can help.

 

Link to comment
Share on other sites

OK - it's a case of RTFS, the bug is known and the Setup.com program warns you that a configuration where Ramdisk as well as 4 drives will make the Dos menu not work properly.

Actually, the warning isn't exactly verbose, it only bothers to tell you if you have a setup that won't work or the one you have won't work if you enable Ramdisk.

 

 

post-7804-0-19733300-1454471127_thumb.png

 

  • Like 1
Link to comment
Share on other sites

OK - it's a case of RTFS, the bug is known and the Setup.com program warns you that a configuration where Ramdisk as well as 4 drives will make the Dos menu not work properly.

Actually, the warning isn't exactly verbose, it only bothers to tell you if you have a setup that won't work or the one you have won't work if you enable Ramdisk.

 

 

attachicon.gifDos25setup.png

 

 

Aha...

 

I thought it always said that, and that this was the warning that you should not start using DOS after you have changed configuration, but that you should write DOS back to disk and then reboot. But you are right... the warning is only there with my config.

 

How weird is that by the way?

 

Imagine that you bought somewhere in the 80's 4 diskdrives (a fortune used!) to find out your DOS does not support it.

 

Anyway, thanks for finding out!

Greetz

M.

Link to comment
Share on other sites

Ramdisk is a bit of an afterthought with Dos 2.x

 

The other problem is with DUP. It's not relocatable so has to load at some fixed address.

The obvious choice is to load it just above what Dos would use in a worst case situation, which in the early days was with 4 drives enabled and 4 files allowed open.

 

The obvious fix might have been to move DUP higher in memory but then you lose space that could be used as copy buffer, plus it would have alienated people with low Ram systems (didn't they even support using DUP on a 16K system?)

Link to comment
Share on other sites

Well it is not really a problem. I get rid of D4: and everything works.

 

Oh and in my comment I made a small mistake.

 

The DOS does support D1: D2: D3: D4: and D8: ... only the DUP doesn't.

In BASIC, POKE 1802,143.

Then go to DUP and hit H, write DOS files.

Then when you boot that disk, you have the four drives plus RAMdisk.

This will enable drives 1,2,3,4,8

It is the bits set in 1802 when H writes DOS and DUP. binary 143 is 1,0,0,0,1,1,1,1 binary.

You could run into insufficient memory. Each drive requires a buffer in base memory.

I think the default with DOS 2.5 is 131 for 1802, drives 1,2 and the RAMdisk 8.

If you have RAMDISK.COM on the 2.5 disk, and an extended memory computer,

you automatically get the RAMdisk D8:

This is for DOS 2.0, I'm pretty sure for 2.5 also.

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

Bizarrely, DDEVIC ($0300) contains $4F ("P2:" device) when the CIO returns status code $82, which seems to me to indicate a timeout on a non-existent printer. Quite why DOS decides to poll the printer if this particular buffer configuration is selected is quite a mystery.

 

One would suppose this DOS is heavily beta tested... and one would expect the smoothest operation as possible right?

  • Like 1
Link to comment
Share on other sites

Bizarrely, DDEVIC ($0300) contains $4F ("P2:" device) when the CIO returns status code $82, which seems to me to indicate a timeout on a non-existent printer. Quite why DOS decides to poll the printer if this particular buffer configuration is selected is quite a mystery.

 

No, $4F is not P2:. It is the SIO-device (or pseudo-device) CIO uses to auto-boot a device from the parallel port. This logic is not part of the Dos, it is part of the XL Roms. This SIO command is always issued if you try to open a device that does not have an entry in HATABS.

  • Like 2
Link to comment
Share on other sites

 

No, $4F is not P2:. It is the SIO-device (or pseudo-device) CIO uses to auto-boot a device from the parallel port. This logic is not part of the Dos, it is part of the XL Roms. This SIO command is always issued if you try to open a device that does not have an entry in HATABS.

 

Ah - thanks! Mapping the Atari is wrong, then. I'll consult Avery's hardware manual on these matters in future. :)

Link to comment
Share on other sites

Yup, the problem is that this configuration pushes MEMLO up to $1E9C, and in particular, the second file buffer to $1D1C. This causes the copy operation to clip the DUP filename buffer at $1D7C and triggers a bogus file open operation, which then causes the OS to poll the SIO bus for a device handler (with accompanying raspberry). DUP is documented as starting at $1D7C in the DOS 2.5 manual.

 

I always thought it odd that Atari DOS required fixed buffers to be assigned to each drive instead of dynamically assigning them.

 

The $4F reference for P2: in Mapping the Atari is strange. It's not a simple typo because it's the same in the decimal column. I don't see a reference for that in the OS Manual and the 850 uses $41 as expected.

  • Like 2
Link to comment
Share on other sites

Well, memory management is not exactly the strong point of the Os. You cannot dynamically enlarge the number of buffers because that would require that the currently loaded application would have to move its own data out of the way (or would require a Os memory management that would allow allocation of memory in chunks instead of just adjusting MemLo and MemHi).

 

I would rather say that the 2.5 DUP leaves a bit to be deserved. The XL Os had all the notation of relocatable device drivers for the parallel port, but Atari itself did not use a relocatable binary loader for the DUP. (Quite unlike, if I may add, Dos 2.++ which is completely relocatable... ;-)

 

Link to comment
Share on other sites

But won't that result in the same problems as what I had with the original setup?

I don't understand what you are doing in your original post.

You talk about four files being 'open'. I only know how to OPEN a file with BASIC 'OPEN #1,4,0,"D:FILE.EXT".

I think the error 130, 'no such device', is because you are trying to access a Dx: that isn't recognized by DOS 2.5.

My 1802 suggestion would fix that. The original DUP only recognizes D1:,D2: and D8:., a 131 in 1802.

A 143 in 1802 and a 'H' save/write DOS would make that disk access D1:, D2:, D3:, D4: and D8:

In BASIC, POKE 1802,143.

Then type DOS to get to DUP and 'H' to write DOS files. and you're done.

 

MyDOS 4.53 recognizes all eight drives.

 

You seem to be trying to DUP COPY a file to, say D3: from D1: and DUP doesn't recognize D3:

 

edit: OH, I see now. You used a utility to configure DOS 2.5 to access 1,2,3,4,8. I'm not

familiar with that utility. You also configured to have 4 files open at once somehow.

Boot that disk and then check 1802 to see what drives are possible.

Edited by russg
Link to comment
Share on other sites

The error is like we said, a symptom. Dos is corrupting the work area that DUP uses because too many drives are enabled.

 

A "fix" using POKE 1802 could be employed (I just tried it).

e.g. POKE 1802,135

then press Reset and enter DOS.

Sacrifice one drive but the functionality seems to return to normal.

Once finished POKE 1802,143 to return to the 4 drives + D8: Ramdisk setup.

Link to comment
Share on other sites

But won't that result in the same problems as what I had with the original setup?

I ran out of edits on my new post to this.

I wanted to be specific how to configure DOS 2.5.

In BASIC, type POKE 1802,143

Then goto DUP menu, type DOS.

Then write DOS files, selection H.

Then reboot and you should have 1,2,3,4,8

Link to comment
Share on other sites

The error is like we said, a symptom. Dos is corrupting the work area that DUP uses because too many drives are enabled.

 

A "fix" using POKE 1802 could be employed (I just tried it).

e.g. POKE 1802,135

then press Reset and enter DOS.

Sacrifice one drive but the functionality seems to return to normal.

Once finished POKE 1802,143 to return to the 4 drives + D8: Ramdisk setup.

 

Yes, POKE 1802,135 would be better, just enabling D3: (1,2,3, 8

Actually get rid of D8:, so, POKE 1802,7 for 1,2,3: POKE 1802,15 for 1,2,3,4

The fewer drives, the better.

I'm not sure you can get rid of D8:

pressing RESET may be required after the POKE.

DOS 2.5 default 1802 is 131 (D1,2,8 ) with a RAMDISK at bootup.

I'm not sure D8: is activated if the RAMDISK.COM doesn't load it.

Edited by russg
Link to comment
Share on other sites

That method 2 posts above won't help.

 

The problem isn't in how the drives are enabled, it's just the fact that DUP wasn't written to coexist with 5 active drives.

Having RAMDISK.COM present when booting the Dos 2.5 disk is sufficient to enable D8:

So trying some workaround like having initial value POKE 1802,15 won't work.

Link to comment
Share on other sites

That method 2 posts above won't help.

 

The problem isn't in how the drives are enabled, it's just the fact that DUP wasn't written to coexist with 5 active drives.

Having RAMDISK.COM present when booting the Dos 2.5 disk is sufficient to enable D8:

So trying some workaround like having initial value POKE 1802,15 won't work.

You may be correct. I tried with Altirra and 15 for 4 drives, worked, so did 63 for 6 drives.

It isn't a limitation of DOS 2.5, it may be a limitation on the real hardware.

You don't have to hit RESET, at least in Altirra just type DOS to enter DUP after the POKE.

This is without the D8: RAMdisk.

You'd sorta have to have a APE/SIO2PC to test with all those drives on real hardware.

Also, you might have memory insufficient, each drive requires a buffer.

Edited by russg
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...
 Share

  • Recently Browsing   0 members

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