I'm trying to boot Altair DOS 1.0 on my 8800C. I have an FDC+ card with the 64K mod so the RAM address space goes all the way to FFFFh. AMON switches itself out when I execute the BO command to boot from floppy.
When I try to boot DOS, I answer as follows:
MEMORY SIZE <enter>
INTERRUPTS? N
HIGHEST DISK NUMBER? 1
HOW MANY DISK FILES? 3
HOW MANY RANDOM FILES? 3
Then I get INSUFFICIENT MEMORY and the system stops responding.
I've tried answering MEMORY SIZE with a number but only very low numbers (like 4000) work and I've tried various numbers of files, including 0 but I still get INSUFFICIENT MEMORY.
Has anyone run this DOS on a 64K machine? Were there any tricks involved?
Altair DOS 1.0 Memory Issue
-
- Posts: 305
- Joined: June 7th, 2013, 12:54 pm
- Contact:
-
- Site Admin
- Posts: 677
- Joined: April 5th, 2013, 10:55 am
- Contact:
Re: Altair DOS 1.0 Memory Issue
Altair DOS thinks 64K is zero. You’ll need to specify something less at the memory size prompt. You may be able to type 65535.
Mike
Mike
-
- Posts: 305
- Joined: June 7th, 2013, 12:54 pm
- Contact:
Re: Altair DOS 1.0 Memory Issue
I found out that, for DOS (and unlike BASIC), MEMORY SIZE doesn't mean how much memory to use, it means how much memory to reserve for the user's routines. In other words, if you specify 8192, then DOS gets 64K - 8192 = 56K bytes and you get 8192 bytes for your own routines. In order to maximize DOS RAM, I need to specify 1 at the prompt. Usually, just pressing Enter or entering 0 would be OK but, of course, with a full 64K, that doesn't work. The coders of DOS didn't foresee someone having a full 64K RAM with no ROM at all.AltairClone wrote:Altair DOS thinks 64K is zero. You’ll need to specify something less at the memory size prompt. You may be able to type 65535.
Mike
-
- Site Admin
- Posts: 677
- Joined: April 5th, 2013, 10:55 am
- Contact:
Re: Altair DOS 1.0 Memory Issue
Very interesting! Now that you mention it, I've never actually tried typing anything other than CR into Altair DOS. Where did you find this information? I don't see it described like this in the Altair DOS manual I have and I'd like to learn more about it.toml_12953 wrote:I found out that, for DOS (and unlike BASIC), MEMORY SIZE doesn't mean how much memory to use, it means how much memory to reserve for the user's routines. In other words, if you specify 8192, then DOS gets 64K - 8192 = 56K bytes and you get 8192 bytes for your own routines. In order to maximize DOS RAM, I need to specify 1 at the prompt. Usually, just pressing Enter or entering 0 would be OK but, of course, with a full 64K, that doesn't work. The coders of DOS didn't foresee someone having a full 64K RAM with no ROM at all.
Mike
-
- Posts: 305
- Joined: June 7th, 2013, 12:54 pm
- Contact:
Re: Altair DOS 1.0 Memory Issue
It seemed to be the case since 1 worked but large numbers gave an INSUFFICIENT MEMORY error. Now analyzing the actual numbers, I don't really know what's going on!AltairClone wrote:Very interesting! Now that you mention it, I've never actually tried typing anything other than CR into Altair DOS. Where did you find this information? I don't see it described like this in the Altair DOS manual I have and I'd like to learn more about it.toml_12953 wrote:I found out that, for DOS (and unlike BASIC), MEMORY SIZE doesn't mean how much memory to use, it means how much memory to reserve for the user's routines. In other words, if you specify 8192, then DOS gets 64K - 8192 = 56K bytes and you get 8192 bytes for your own routines. In order to maximize DOS RAM, I need to specify 1 at the prompt. Usually, just pressing Enter or entering 0 would be OK but, of course, with a full 64K, that doesn't work. The coders of DOS didn't foresee someone having a full 64K RAM with no ROM at all.
Mike
I tried the following values for MEMORY SIZE (keeping all other prompts the same, of course) If you can figure out what's going on from these numbers, good for you! It looks like that number is adding to some fixed base number although why that would be useful, I don't know. It's possible there an automatic reserve of RAM at startup and the number entered releases some of it to DOS.
Code: Select all
Value Entered RAM size at DOS sign-on
1 56410
10 56419
100 56509
150 56559
200 56609 but locksup before the dot prompt.
-
- Site Admin
- Posts: 677
- Joined: April 5th, 2013, 10:55 am
- Contact:
Re: Altair DOS 1.0 Memory Issue
So it looks like the Altair DOS memory size command actually does work as documented and is very similar to BASIC. The problem you’ve run into - as expected - is because you have a full 64K of RAM.
You’ve probably noticed you can see Altair DOS sequencing through RAM on the front panel lights just before the MEMORY SIZE? prompt is displayed. Unlike BASIC, DOS has already sized RAM before it asks the operator for input. It then uses the known size of memory to validate the memory size you might input.
The problem arises when the memory size loop doesn’t find an address without RAM, so it just keeps going past 64K, wrapping to zero, and then eventually clobbering a byte in the RAM size loop itself which finally causes the loop to jump out. This make DOS thinks the RAM size is only about 7800 bytes, which is why DOS won’t accept memory size values over this. Values less than this incorrect value for the top of RAM are accepted, but most won’t let the system run. It looks like small values (e.g., 0, 10, etc.) result in a reverse wrap around 64K and let the system run.
Mike
You’ve probably noticed you can see Altair DOS sequencing through RAM on the front panel lights just before the MEMORY SIZE? prompt is displayed. Unlike BASIC, DOS has already sized RAM before it asks the operator for input. It then uses the known size of memory to validate the memory size you might input.
The problem arises when the memory size loop doesn’t find an address without RAM, so it just keeps going past 64K, wrapping to zero, and then eventually clobbering a byte in the RAM size loop itself which finally causes the loop to jump out. This make DOS thinks the RAM size is only about 7800 bytes, which is why DOS won’t accept memory size values over this. Values less than this incorrect value for the top of RAM are accepted, but most won’t let the system run. It looks like small values (e.g., 0, 10, etc.) result in a reverse wrap around 64K and let the system run.
Mike
-
- Posts: 305
- Joined: June 7th, 2013, 12:54 pm
- Contact:
Re: Altair DOS 1.0 Memory Issue
Now that makes sense!AltairClone wrote:So it looks like the Altair DOS memory size command actually does work as documented and is very similar to BASIC. The problem you’ve run into - as expected - is because you have a full 64K of RAM.
You’ve probably noticed you can see Altair DOS sequencing through RAM on the front panel lights just before the MEMORY SIZE? prompt is displayed. Unlike BASIC, DOS has already sized RAM before it asks the operator for input. It then uses the known size of memory to validate the memory size you might input.
The problem arises when the memory size loop doesn’t find an address without RAM, so it just keeps going past 64K, wrapping to zero, and then eventually clobbering a byte in the RAM size loop itself which finally causes the loop to jump out. This make DOS thinks the RAM size is only about 7800 bytes, which is why DOS won’t accept memory size values over this. Values less than this incorrect value for the top of RAM are accepted, but most won’t let the system run. It looks like small values (e.g., 0, 10, etc.) result in a reverse wrap around 64K and let the system run.
Mike
Who is online
Users browsing this forum: Ahrefs [Bot], Google [Bot], Semrush [Bot] and 1 guest