RedskullDC wrote:
The name of the program it tries to run is whatever is left in the DOS3.3
keyboard buffer.
When you INIT a disk with 'INIT HELLO', then "HELLO" is what is left
in the Keyboard buffer.
Take a look at "Beneath Apple DOS" to see where in memory the keyboard
buffer is, and also where the file-type flag is. You can patch those
manually
after you have used your program to load the DOS image.
No, DOS stores the name of its "startup" program internally.
It has no dependence on the keyboard buffer ($200).
Several programs can patch the name of the startup program, and
whether it is RUN, BRUN, or EXECed.
Once you have done that, you are still left with a problem:
The loaded DOS doesn't understand the prodos file system it finds.
When it tries to run the 'HELLO' program , it trys to interpret the
random
data it finds at trk 17 sec 0f as a volume bitmap.
And this can be fixed (if it is worth doing) by storing what
ProDOS sees as a file, but which is a DOS 3.3 directory track
on track 17.
Of course, there will need to be a whole DOS area on the disk
if you intend to store programs that DOS can run.
Try doing a 'CATALOG' once you have run your dos.system program.
Nada, zip, nicht.
Probably best to expand the DOS.SYTEM program to hold the HELLO
program as well, load it into memory once DOS is initialized, then call
Applesoft to run it.
Still leaves the DOS not understanding ProDOS probelm.
Only solution I can think of it to have a DOS disk in another drive, and
modify the 'last trk/sec' values in RWTS and the File Manager, so that
your loaded DOS will immeadiately point at the DOS disk.
A better idea. ;-)
Actually, you want to change the "current drive" spot in memory.