[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: FinnOS Design Notes, was Re: FocusDrive and Interrupts
David Schmenk wrote:
>
> You will definitely want Virtual ][ for development. One thing to be
> aware of is that IRQ's tend to confuse Virtual ][ when you bring up
> the Inspector. If an IRQ occurs while single stepping, you get stuck
> in the interrupt handler code and it is hard to get back out.
Thanks for the heads up. Have you emailed to Mr. Gerard Putter regarding
this matter? Or is it considered to not be a bug?
> Also, you
> might want to look at your process priority scheme. Usually, you will
> only run the process of highest priority and round-robin those of
> equal priority.
Certainly. I've been reading and studying many, many books on operating
system design.
> If you start off
> by using cooperative scheduling, you can get the system up and running
> without adding the complexity of interrupts. It will be much easier
> to get working and debug (especially using Virtual ][), and you can
> add pre-emptive scheduling in later without a great deal of effort
That's a good idea; I shall keep it in mind. The first milestone is for the
OS to "load" programs already in memory as processes. That is, instead of
being loaded from disk automatically, at my command, I'll have to pre-load
everything into the RamWorks at known locations, then boot the OS and let it
find them and start them as processes.
I'd imagine the first testing of the context-switching will be three
programs: one printing an A to screen, the second a B, and the third a C.
So if I see some output like:
A
B
C
A
B
C
Then I know that it's working. :-)
> (although, believe me, interrupts and aux memory can drive you nuts).
>
Did I mention that I'm using an unehanced IIe? I should probably upgrade.
:-)
> Also, you should put a great deal of thought into the tools you want
> to build the system with.
> It doesn't have to be a technical decision,
> either. Sometimes part of the challenge is to use tools of the day
> and develop directly on the Apple II.
Right now, I'm using what I've already got available, and that's a slightly
older version of Merlin. I've got both the DOS 3.3 and ProDOS versions. I
have been using ProDOS. ;-)
Which reminds me, I need to talk to Rich and ask him about his work on
getting ProDOS CLI to work from the AUX banks.
> However, modern tools can
> vastly improve your productivity; if you don't have an excessive
> amount of free time on your hands, that should be a consideration.
> Don't under-estimate the complexity of your project, you may want to
> "cheat" in some areas to give yourself a better chance for success.
Yes, I'm certainly aware that it won't be easy. I'm holding out for getting
the core foundation done. I think that if I can get a solid start on it,
building everything else will be easier.
Imagine getting to Milestone 5:
Milestone 5:
- multiple users
- swapping
- TCP/IP
Wouldn't that be fun? Remember, this would be swapping on to a FocusDrive
(or similar) so it might not even be that bad.
>
> Good luck, it sounds like a fun project.
>
Thanks.
--
Mac GUI Vault - A source for retro Apple II and
Macintosh computing.
http://macgui.com/vault/