+Larry Posted June 12, 2008 Share Posted June 12, 2008 In COMPUTE!, October, 1986, Bill Wilkinson's Insight: Atari column had an article on creating a 14K Dos 2.5 ramdisk for an unexpanded 800 XL. However, the ramdisk was not set up to act as a MEM.SAV device to swap DUP.SYS with the user program. Bill left that as an "exercise" for the reader. He further went on to write that the source code for the ramdisk was posted on Compuserve. Incidently, if you are interested, the article can be found at: http://www.atarimagazines.com/compute/issu...sight_atari.php I found Bill's source file in my ramdisk utilities. Does anyone recall seeing a modified version of this that can do the DUP.SYS memory swap? There is *just enough* room in this very small ramdisk to accomplish it. Barring that, does anyone know of well-documented source code for a Dos 2.5-type ramdisk that might make it show how the MEM.SAV -- DUP.SYS swap is accomplished? Thanks, Larry Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 12, 2008 Share Posted June 12, 2008 I've got a hacked DOS 2.5 called DOS 2.5XL that does virtually the same thing. Only works on XL/XE with >= 64K, I think it crashes on others. It puts DUP.SYS and MEM.SAV in RAM under the OS. I don't think it uses a Ramdisk in the normal sense - you can't access the "drive". So, I guess you kinda lose out on 4K or so that would probably go unused. Here's a copy for those interested. It's easily identified as it displays "2.5 XL" in the DOS menu. _DOS_2.5XL_1.zip Quote Link to comment Share on other sites More sharing options...
Beetle Posted June 12, 2008 Share Posted June 12, 2008 (edited) TurboDOS XL/XE also has a RAMdisk for unexpanded XL/XE machines. Its command line based DUP is also smaller than the DOS2.x ones. For use with real Disks or Diskimages up to 180k i highly recommend checking out TurboDOS. Greetings, Beetle Edited June 12, 2008 by Beetle Quote Link to comment Share on other sites More sharing options...
+Larry Posted June 12, 2008 Author Share Posted June 12, 2008 I've got a hacked DOS 2.5 called DOS 2.5XL that does virtually the same thing.Only works on XL/XE with >= 64K, I think it crashes on others. It puts DUP.SYS and MEM.SAV in RAM under the OS. I don't think it uses a Ramdisk in the normal sense - you can't access the "drive". So, I guess you kinda lose out on 4K or so that would probably go unused. Here's a copy for those interested. It's easily identified as it displays "2.5 XL" in the DOS menu. _DOS_2.5XL_1.zip Hi Rybags and Beetle- Thanks much for the DOS 2.5 XL file and the TurboDos info! -Larry Quote Link to comment Share on other sites More sharing options...
kenfused Posted June 13, 2008 Share Posted June 13, 2008 In COMPUTE!, October, 1986, Bill Wilkinson's Insight: Atari column had an article on creating a 14K Dos 2.5 ramdisk for an unexpanded 800 XL. However, the ramdisk was not set up to act as a MEM.SAV device to swap DUP.SYS with the user program. Bill left that as an "exercise" for the reader. He further went on to write that the source code for the ramdisk was posted on Compuserve. Incidently, if you are interested, the article can be found at: http://www.atarimagazines.com/compute/issu...sight_atari.php I found Bill's source file in my ramdisk utilities. Does anyone recall seeing a modified version of this that can do the DUP.SYS memory swap? There is *just enough* room in this very small ramdisk to accomplish it. Barring that, does anyone know of well-documented source code for a Dos 2.5-type ramdisk that might make it show how the MEM.SAV -- DUP.SYS swap is accomplished? Thanks, Larry Well there is this from ANTIC: http://atarimagazines.com/v4n10/instantdos.html but no source code. --Ken Quote Link to comment Share on other sites More sharing options...
+Larry Posted June 13, 2008 Author Share Posted June 13, 2008 In COMPUTE!, October, 1986, Bill Wilkinson's Insight: Atari column had an article on creating a 14K Dos 2.5 ramdisk for an unexpanded 800 XL. However, the ramdisk was not set up to act as a MEM.SAV device to swap DUP.SYS with the user program. Bill left that as an "exercise" for the reader. He further went on to write that the source code for the ramdisk was posted on Compuserve. Incidently, if you are interested, the article can be found at: http://www.atarimagazines.com/compute/issu...sight_atari.php I found Bill's source file in my ramdisk utilities. Does anyone recall seeing a modified version of this that can do the DUP.SYS memory swap? There is *just enough* room in this very small ramdisk to accomplish it. Barring that, does anyone know of well-documented source code for a Dos 2.5-type ramdisk that might make it show how the MEM.SAV -- DUP.SYS swap is accomplished? Thanks, Larry Well there is this from ANTIC: http://atarimagazines.com/v4n10/instantdos.html but no source code. --Ken Thanks, Ken. This looks a lot like the "exercise" that Bill W. suggested in his Insight: article. -Larry Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 13, 2008 Share Posted June 13, 2008 I think the ideal setup would be a RAMDisk that also put DUP.SYS and MEM.SAV under the OS (as does the one I posted), but has it available to the user as well - that extra 3K or so would be handy for caching small, commonly used utilities and stuff. Here's the load segments for Modify.obj: START END #BYTES 157A 157C 0003 1746 1789 0044 17B6 17FB 0046 1813 1827 0015 183A 1887 004E 193F 1961 0023 1F36 1F3E 0009 Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 13, 2008 Share Posted June 13, 2008 "Modify.obj" seems to just patch it to the DOS 2.5XL, like I attached before. How MEM.SAV, DUP.SYS works? When you enter DOS, if MEM.SAV is in effect, then the RAM area affected by loading/using DUP gets copied to it. Then DUP.SYS can load. MEM.SAV is invalidated if you do something like a binary load or a copy operation where it asks "Y/N to use program area" - in that case it's pointless restoring that part of RAM as the area above it has been overwritten. When you return from DOS, it simply loads MEM.SAV back to the user area. It also maintains flags so it knows if you've just pressed Reset from DOS, and can do the restore operation. In the case that you've invalidated MEM.SAV, it sets the WARMST flag (08) to 00 which for a language cartridge being run, or warmstarted, is equivalent to typing "NEW". I've put this RAMDISK.COM from the Compute! article on a disk - now to work out if you can get it to use MEM.SAV from there... Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 13, 2008 Share Posted June 13, 2008 Here's the RAM14K.ASM source - found it thanks to Google, it's on the Umich FTP site. I've also included the BASIC file - just ENTER it from the H6: device. Ram14K.zip Quote Link to comment Share on other sites More sharing options...
Rybags Posted June 13, 2008 Share Posted June 13, 2008 Well, playing around I was able to get it kind of working, so far as having DUP and MEM.SAV on D8: Change the byte at $153F as documented in the source code. But, write the DOS files out and reboot and it reverts to normal. Additionally, I noticed it somewhat slower transitioning between DOS - obviously a result of the Ramdisk only accessing in VBlank to stop corruption of the font graphics. Also, it managed to crash on me one occasion, so maybe it's not worth the trouble. Maybe an AUTORUN file that modifies the byte then copies DUP.SYS to D8: would be a workable kludge. 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.