Search the Community
Showing results for tags 'ramdisk'.
Found 2 results
ROS (Ramdisk Operating System) for Horizon RAMdisk CFG8 ROS v838.dsk - stable release - ROS v8.38 - bugfixes, 3200 sector OS support, ubergrom cartridge compatibility, VDP bugfixes - CFG v8.38 - adds additional device recognition support and supports 3200 sector drives, CRC error checking ROS841.zip - testing/beta 1/12/2020 - ROS 8.41 fixes to allocation routine (appending files) ROS CFG 842-TEST.zip Test. See post 256 and prior for additional details. 1/25.2020 - ROS 8.42a and CFG 8.42. - ROS 8.42a - all known allocation fixes implemented. Powerup changes. VDP-based boot tracking removed. - CFG 8.42 - Changed load address. Safety confirmation before deleting/formatting a drive. TIPI device detection (8.38a). Forced size to 8192 bytes to overcome TI Disk Controller load opcode bug. Basic Instructions: 1. CFG is loaded via Editor Assembler Option #5 or compatible. It will attempt to detect an RAMdisks (and other devices) in the system then present you with options to configure and/or set up the ram disks. 2. ROS is loaded from within CFG; ROS is /not/ a standalone executable program. 3. ROS 8.32 and higher should NOT be mixed/matched with earlier versions of ROS or CFG. Drive allocation calculations have changed and may cause 'bad things' to happen. 4. The 1990 user manual for ROS/CFG 8.14F is mostly applicable to these versions. A manual update will happen later this year. ROS bugs: 1. Saving a program or copying a file that exceeds available disk space may corrupt the drive and/or next adjacent drive. Offending code identified; solution in process. [RESOLVED 8.42] 2. De-allocation of a severely fractured file may result in wiping the drive. When assembling files via ramdisk, point your Object and List files to different drives. Writing records to two or more files in succession will interleave the file each time an allocation unit (1 or 2 sectors, depending on disk size) is required to increase the file size. TI file architecture only allows for 76 fragments. Research required. [RESOLVED 8.42] 3. RAMBO mode not tested; awaiting 4000B availability. 4. -======================================================================= Original Post: Instead of cluttering up another thread here's one for RAMDisk related info. Last night I was experiencing file corruption when saving Extended BASIC files to my Horizon RAMdisk. The filename was getting copied into the file I was saving, trashing code at seemingly random spots. As I was putting together an email to Gazoo, it dawned on me that I had removed my Myarc floppy controller from the system. Without the FDC, the VDP memory pointer at 0x8370 was not modified, because there was no need for any floppy buffers. Well... ROS uses the 0x8370 pointer to determine where to copy its last used filename and corresponding drive number into VDP memory. ( I believe this is primarily for boot tracking purposes but may also be for convenience). Without a floppy controller in the system, we had extra VDP RAM up to 0x3fff available for system use. ROS was dumping the filename directly into VDP where my program was located! The "corruption" is not limited to XB since the ROS routine is executed for all file IO. Had I not been testing file transfers between systems, requiring me to inspect the files for changes, I might have missed out on finding this dependency. Therefore, for anyone out there using a RAMdisk, it is good practice to keep a floppy controller in the system I do not know if the Myarc hard/floppy controller sets VDP similar to the floppy controllers, that is a test for another day.
If anyone can use them, the attached ATR has several utility programs I've written. SORTDISK will sort the directory of any ATARI DOS disk (including DOSXL). Since Atari DOS stores the file number in every files data sectors, it will rewrite each file with the new file number. I am working on a new version that does not require data sectors to be rewritten FIXDISK will repair disks of common problems. Opening a file for output and not closing it can cause hidden directory entries that chew up space on your disk. Run this utility on your disks and if there are any errors it will report on them and repair them. If there are lost sectors on your disk it will give them back to you. UNDELETE will undelete a file as long as the data sectors in the file have not been reused by another file. If so, it will tell you that the file cannot be undeleted. RAMXL is very cool (if you are running on an XL machine). When using DOSXL, external commands such as COPY, DUPSK, etc. have to load into memory every time you use them. Rename RAMXL.COM as AUTORUN.SYS. On a DOSXL disk, change the extension of COPY.COM to COPY.MEM. You can rename up to four files (such as DUPDSK.MEM, INIT.MEM). When you reboot your disk, RAMXL will search for file with the MEM extension and store them beneath the OS. Now, to run any external command, prefix it with RUN 2300. For example, to copy a file your would key in RUN 2300 COPY <File A> <File B> Or to run DUPDSK you would key in RUN 2300 DUPDSK Finally, a hidden utility. Atari DOS will only let you store 64 files on a disk, even if it is a double density disk and has lots of room. This ATR was created with a utility I call DOS CD (capacity doubler). It will allow you to store up to 128 files on a DD disk. If you boot from this disk and then create new disks using INIT to rewrite your DOS files, the new disks will also have DOS CD on them. I hope someone finds this stuff useful. Utilities.atr