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?
Anonymous
User login
Please support the defense of Ukraine.
Direct or via Unclutter App
Active forum topics
Recent content
Navigation
No Ads.
No Trackers.
No Social Media.
All Content Locally Hosted.
Built on Free Software.
We have complied with zero government requests for information.
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
ADTPro lets you boot DOS (EsDOS, specifically) from audio or serial too.
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.
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.
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.
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.
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.