[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Once again musing about "DOS 3.3 for ProDOS"



Steve Nickolas wrote:
On Wed, 14 Dec 2011, BluPhoenyx wrote:

On 12/13/2011 12:49 PM, Steve Nickolas wrote:

This time I'm armed with a basic understanding of the ProDOS API, but
still don't understand the inner workings of DOS.


The inner workings of DOS were always hazy to a number of folks. Factor in the myriad hacks by the community and DOS was a jumble of routines which could give most anyone a headache. However, most INTEGER DOS programs don't require such intricate details about DOS they require an understanding of what the programmer was attempting to accomplish within the confines of DOS. Given the flexibility of ProDOS 8 I suspect most Apple DOS programs could be ported.


As do I.  This was why I was trying to do this.

I've thought of a few things which would be potentially viable with such
a system: INTBASIC (lomem version) and a number of small BASIC programs
with chargens (many of them break under ProDOS). Mostly this is
advantageous to people with higher capacity disk drives.


Integer BASIC has often been desired by the II's BASIC programming fans.I myself have toyed with the idea several times. I could never justify the effort though as there are other alternatives available. For instance, there is APEX an integer based interpreted language with an adjustable base which allowed for a broad range of values on a variable sized base. Alternately, ZBASIC could be configured for use as an integer only environment. Being both compiler and interpreter it offers some interesting possibilities.

Please don't misunderstand, I applaud your efforts and should you make such an interpreter I expect to be among the first in line to acquire a copy. I mostly wanted to point out that most of those old gems might be better off if the effort were put directly into porting them instead.


I suppose easier said than done.

The idea I've thought of is just patch DOS 3.3 so that file i/o is done through the ProDOS api. I think there's enough room in the code to do this and leave the 256 bytes at the top free (hell, just removing INIT allowed me to have DOS 3.3 and ProDOS resident at the same time).

The source of PDOS RDOS tells me what I need to know about interfacing
on a basic (lol) level to ProDOS but I haven't seen something similar
for DOS 3.3. I am thinking I will want to merely patch out the file
manager and RWTS, and replace INIT with BYE. Doing the former is the
most difficult.


The thing is, DOS wasn't meant to be interfaced with. It was a means to an end. A simple method created to allow BASIC programmers access to the floppy disk storage medium. The trick was to make the DOS commands feel like part of the actual BASIC environment. Well, that's just me waxing philosophical about it. Perhaps there will be some technical posts about how (or not) it can be done.


Heh.

I think the biggest trick I've seen was the print chr$(4) stuff being used from machine code. Works great under DOS 3.3... don't work at all under BASIC.SYSTEM.

But for many commands, you can just put them into the keyboard
buffer and call DOSCMD in BASIC.SYSTEM.  That's pretty close!

-michael

NadaNet 3.1 for Apple II parallel computing!
Home page:  http://home.comcast.net/~mjmahon/

"The wastebasket is our most important design
tool--and it's seriously underused."