Marius Posted February 2, 2016 Share Posted February 2, 2016 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. Quote Link to comment Share on other sites More sharing options...
+bf2k+ Posted February 3, 2016 Share Posted February 3, 2016 ERROR 130 - Specified device does not exist. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 3, 2016 Share Posted February 3, 2016 Did you reboot after doing the reconfiguration? I don't think Dos will work properly by just changing that stuff on the fly. The configuration data has to be written back to the boot sector and the Dos has to be fully reinitialized. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 3, 2016 Share Posted February 3, 2016 OK - I've been able to replicate the problem. No idea why it does that, and I rebooted before attempting the copy operation. I would think that such a bug would be well publicised. Quote Link to comment Share on other sites More sharing options...
Kyle22 Posted February 3, 2016 Share Posted February 3, 2016 Did you change the settings, then write DOS to disk, then boot from the disk (in that order) before attempting to copy files? Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 3, 2016 Share Posted February 3, 2016 Further test - it doesn't seem to matter if the Ramdisk is present or not and reducing # of Open files makes no difference. The problem seems to occur when you have 4 drives enabled. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 3, 2016 Share Posted February 3, 2016 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. 1 Quote Link to comment Share on other sites More sharing options...
Marius Posted February 3, 2016 Author Share Posted February 3, 2016 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. Dos25setup.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. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 3, 2016 Share Posted February 3, 2016 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?) Quote Link to comment Share on other sites More sharing options...
Marius Posted February 3, 2016 Author Share Posted February 3, 2016 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. Quote Link to comment Share on other sites More sharing options...
russg Posted February 3, 2016 Share Posted February 3, 2016 (edited) 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 February 3, 2016 by russg 1 Quote Link to comment Share on other sites More sharing options...
Marius Posted February 3, 2016 Author Share Posted February 3, 2016 But won't that result in the same problems as what I had with the original setup? Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted February 3, 2016 Share Posted February 3, 2016 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. Quote Link to comment Share on other sites More sharing options...
Marius Posted February 3, 2016 Author Share Posted February 3, 2016 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? 1 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted February 3, 2016 Share Posted February 3, 2016 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. 2 Quote Link to comment Share on other sites More sharing options...
flashjazzcat Posted February 3, 2016 Share Posted February 3, 2016 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. Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 4, 2016 Share Posted February 4, 2016 I suspect the error is a side effect rather than symptom. Chances are memory that DUP uses might be getting corrupted with that many active drives. Quote Link to comment Share on other sites More sharing options...
phaeron Posted February 4, 2016 Share Posted February 4, 2016 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. 2 Quote Link to comment Share on other sites More sharing options...
thorfdbg Posted February 4, 2016 Share Posted February 4, 2016 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... Quote Link to comment Share on other sites More sharing options...
russg Posted February 6, 2016 Share Posted February 6, 2016 (edited) 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 February 6, 2016 by russg Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 6, 2016 Share Posted February 6, 2016 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. Quote Link to comment Share on other sites More sharing options...
russg Posted February 6, 2016 Share Posted February 6, 2016 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 Quote Link to comment Share on other sites More sharing options...
russg Posted February 6, 2016 Share Posted February 6, 2016 (edited) 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 February 6, 2016 by russg Quote Link to comment Share on other sites More sharing options...
Rybags Posted February 6, 2016 Share Posted February 6, 2016 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. Quote Link to comment Share on other sites More sharing options...
russg Posted February 6, 2016 Share Posted February 6, 2016 (edited) 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 February 6, 2016 by russg Quote Link to comment Share on other sites More sharing options...
Recommended Posts
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.