DOS in ROM - impossible?

7 posts / 0 new
Last post
Offline
Last seen: 10 years 5 months ago
Joined: Mar 4 2014 - 18:22
Posts: 18
DOS in ROM - impossible?

I'm sure there's a very simple technical explanation why it can't be done (memory addressing, the fact it wasn't designed to run from ROM), but I've not found it yet so I was interested to see if anyone has ever found a way of loading DOS without needing the disk drive?

MarkO's picture
Offline
Last seen: 2 months 2 weeks ago
Joined: Dec 10 2011 - 16:26
Posts: 689
Re: DOS in ROM - impossible?

I'm sure there's a very simple technical explanation why it can't be done (memory addressing, the fact it wasn't designed to run from ROM), but I've not found it yet so I was interested to see if anyone has ever found a way of loading DOS without needing the disk drive?

Besides ADTPro ProDOS Bootloader???

The thing that will totally mess up putting Software into ROM ( Firmware ) is Self-Modifying Code..

The DOS 3.3 System Master loads DOS just Below the 16K Boundary, IIRC, then Moves it up the the Top of the Memory. So there is some way of Relocating DOS. As long as The File Buffers are Vectors, they could be located in another section of memory, nonadjacent to the DOS itself..

Seems very Possible

MarkO

Offline
Last seen: 9 years 2 weeks ago
Joined: Apr 10 2006 - 20:01
Posts: 1013
Re: DOS in ROM - impossible?

I'm sure there's a very simple technical explanation why it can't be done (memory addressing, the fact it wasn't designed to run from ROM), but I've not found it yet so I was interested to see if anyone has ever found a way of loading DOS without needing the disk drive?

Besides ADTPro ProDOS Bootloader???


Smile ADTPro lets you boot DOS (EsDOS, specifically) from audio or serial too.

The thing that will totally mess up putting Software into ROM ( Firmware ) is Self-Modifying Code..

The DOS 3.3 System Master loads DOS just Below the 16K Boundary, IIRC, then Moves it up the the Top of the Memory. So there is some way of Relocating DOS. As long as The File Buffers are Vectors, they could be located in another section of memory, nonadjacent to the DOS itself..


One of the reasons for all the boot stages and code movement is the need to load a little more each time. The bootstrap ROM only knows how to pull in a few sectors, constrained by 256 bytes of ROM. So that primes the pump, then things get progressively more complex until the whole DOS is loaded, a bunch of which goes into the language card area. ADTPro loads DOS by sending an already relocated image directly to the final destination in one shot and hooks up a few vectors to complete the job. ProDOS is more complex, so that is inserted a little earlier in the cycle and it lets ProDOS itself do the final relocation.

Besides the self-modifying and buffer location issues already mentioned, the loss of flexibility of wiring ROM up to be DOS-only would not likely have proven popular with the Apple II crowd. DOS and ProDOS went through a bunch of revisions throughout the Apple II's lifespan, which would have been problematic for those stuck with outdated silicon.

So, there's absolutely no reason why a ROM couldn't be burned with DOS on it, engineered to understand the environment it is in. Early in the II's life, some ROMs were sold - like the Wozpak. [Edit - that was the Programmer's Aid ROM, not Wozpak.] Very similar to the PET ROM software distribution model. But my guess is disks just proved to be so much more flexible (and cheap in terms of distribution) that ROM for this purpose didn't catch on.

macnoyd's picture
Offline
Last seen: 1 day 9 hours ago
Joined: Oct 15 2012 - 08:59
Posts: 855
Re: DOS in ROM - impossible?

A couple of ways that I have seen;

1. SCRG QuickLoader card, does a DOS Boot at Startup
2. BubDos Bubble Memory Disk Card

Both do a nice job of it.

Offline
Last seen: 11 months 6 days ago
Joined: Apr 1 2005 - 14:31
Posts: 117
Re: DOS in ROM - impossible?

This is not exactly what you were asking about, but with an Apple IIgs and certain memory cards, an EPROM/EEPROM option on the memory card can be made to appear as a block device that the machine can boot from (with the DOS disk image burned into EPROM).

One I know of is the AST RamStackPlus. Its EEPROM is limited in size though (128KB I think?), so maybe enough to boot into DOS or ProDOS, but not a full GS/OS desktop that normally fills or requires more than an 800KB disk.

The AE RamFactor for the Apple IIe, with the addition of the Ram Charger, could also possibly retain the RAM drive contents for a while and you can boot from the RAM drive, but it's probably not as stable as an EPROM-based solution.

Offline
Last seen: 11 hours 34 min ago
Joined: Dec 20 2003 - 10:38
Posts: 587
Re: DOS in ROM - impossible?

There is the Parallax TopR0M for the IIgs which has 896k but it’s not an easy one and you need the right equipment. It uses 14 27512 EPROMs that each have to be programmed separately. It also only works with the 1mb Parallax TopRAM card on a ROM 0 or 1.
I tried the Ramfactor with battery as a bootup device a couple of decades ago. I had the idea that a solid state drive would be the fastest. I was wrong, it was slower than my hard drive. Quieter though.

Offline
Last seen: 10 years 6 months ago
Joined: Jan 18 2011 - 22:38
Posts: 52
Re: DOS in ROM - impossible?

I know it's not impossible because I used to have an integer card with an autoboot version of DOS on it using custom roms (all 2716s, which are only 2K.)

But it was an abbreviated DOS. (modified Diversi Dos to be exact.)
You could do save, load, bsave, bload, catalog and very little else.
You couldn't format a blank disc with it either.

Finally, no text file support AND it was slot dependent and needed a jumper wire hooked somewhere.
Was weird to use too: disc drives didn't spin up when the apple was powered up.
You'd still have to specify slot and drive for everything or do a PR#6 which sorta made it unnecessary for lots of things.

It CAN be done tho.

Log in or register to post comments