Search the Community
Showing results for tags 'RAMDISK'.
Found 2 results
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.
I've been trying to repair a Horizon RAMdisk 4000 and have run into a snag. Using the minimem debugger, I can turn on the card and access the 8k/32K ROS (Ramdisk OS) chip at 0x4000-0x57ff. When I write even bytes to this space, I can read the byte back. When I write to the odd bytes, it always reads back as "00". I have tried both a working 8k and 32k chip, and set the jumper to 8k/32k with no change in symptoms. In the rack space from 0x5800-0x5fff, both odd and even bytes work as expected. This 2k space is not part of the ROS 8k/32k chip; it is banked in from the rest of the on board sram chips. As a test, I placed the ramdisk in the Geneve, formatted it with the OS, and it reads/writes data just fine. (The geneve does not require the 8k/32k ros). I reviewed the construction manual but haven't come up with any ideas or clues. It seems to me that a stuck address line would cause an odd read/write to overwrite an even address, yet that doesn't happen either. Any ideas?