Jump to content
IGNORED

"Special Ramdisk for the 800XL?"


Larry

Recommended Posts

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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 by Beetle
Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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

Link to comment
Share on other sites

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.

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