System & Compatibility Problems Q. I was trying to run a program written for my computer, but PutriDos kept giving me "Emulator Not Found" messages. Why? A. When your version of PutriDos starts to run a program it analyzes the machine code to determine what machine it was written for, then calls the appropriate emulator. This is to increase portability of software. Unfortunately, it means you can't run programs actually written for your machine. Get a version written it for some other system and then yours will run it OK. Q. Some of the software I've been using doesn't work right. Garbage gets read in from files that look OK when I list them, and other garbage gets written into files that have nothing to do with the program being run. Help! A. The software you're having problems with was probably developed on some other system using so-called "random file access" which really wasn't random at all. The problem is that the people who ported it to PutriDos didn't read the fine print. If they had, they would have known that the PutriDos random file read and write functions actually are random, at least to the extent allowed by computer-type random- number programs. To read or write sectors of their own choosing they should have used the Read Selected Sector and Write Selected Sector functions instead of Read Random Sector and Write Random Sector. There are several possible remedies. One is to type in "SECTRVEW ON" before running any of the problem programs, causing any attempt to read or write random sectors to halt. The random sector number is displayed and the operator may then override the random choice by entering (in hex) whatever sector number is desired. This works, but the resulting disruption of the calling program's screen displays can be annoying. It also requires careful note-taking on the part of the operator and knowledge of where files are stored on the disk. If you have source on the problem programs you can go through and change the offending Read Random Sector and Write Random sector function calls to Read Selected Sector and Write Selected Sector respectively. If you don't have source you can try to hand- disassemble the code, although this can get tricky. Another possible remedy is to patch the operating system so that any call to read or write random sectors is treated as the corresponding selected-sector call. This usually works when the programmer intended a selected-sector function (commonly but wrongly called "random" on many other systems) and passed the intended sector number without realizing the function would use it only to seed the random number generator. The disadvantage of this approach is that programs that actually desire random-sector input or output will not operate properly. A majority of the programs adversely affected will be games, so if you are a business user this may be OK. For any of the above remedies, your local PutriDos Users' Group can help you with the simple hex patches. Q. Whenever I try to invoke PutriDos 4TRAN I get a "File Not Found" message even though 4TRAN shows in the directory listing. A. You probably have a version of PutriDos that supports duplicate file names. Whenever you type in "4TRAN" the system assumes you want the fourth file named "TRAN" in the directory. If you have fewer than four files named "TRAN" you will get the "File Not Found" error. Files whose names begin with a numeric, such as the PutriDos 4TRAN compiler, cannot be executed, renamed, deleted, etc. You have several options: (1)Forget 4TRAN and use PASQUALE or BAYSICK or something, (2)Patch the directory sector (the system file renaming utility won't work) to rename 4TRAN to TRAN, then put four copies of the file on the disk so there will be a 4th TRAN for the system to find, or (3)Patch the version number in the system ID sector so it'll think it's a version that doesn't support duplicate names. Your local PutriDos Users' Group will help you weigh the pros and cons of each option and will assist you with the simple hex patches. Tom Digby bubbles@well.sf.ca.us for Putri-DOS Users' Group