[comp.sys.apple] SOS-ProDOS compatability

F1.EGS@ISUMVS.BITNET ("E. G. Schnoebelen") (11/06/86)

Re: Apple /// SOS and Apple // ProDOS

Software written on one of the operating systems will not run on the
other without a change in the format of the operating system calls
and a recompilation on the other OS.

ProDOS uses a 4 byte sequence in this format :
              JSR MLI          ; goto the OS entry point.
              <OS opcode>      ; byte specifying what is to be done.

SOS on the other hand uses a two byte sequence as follows:
              BRK             ;Jump to the OS through the interrupt routine.
              <OS Opcode>     ; byte specifying the OS operation.

The OS opcodes are the same between SOS and ProDOS, so the only changes
needed to switch OS's is to change the JSR MLI to a BRK or visa-versa.

The above can be found in the ProDOS Technical Reference Manual ( I don't
remember what pages, It's not here ) and in the SOS Technical Reference
Manual ( I was remembering from SOS 1.3 ).

Eric Schnoebelen
F1.EGS%ISUMVS.BITNET@WISCVM.ARPA
Standard Disclaimers apply -- I work for no one, except maybe myself.

blm@cxsea.UUCP (Brian Matthews) (11/14/86)

In article <8611102040.AA04271@ucbvax.Berkeley.EDU> F1.EGS@ISUMVS.BITNET ("E. G. Schnoebelen") writes:
|Re: Apple /// SOS and Apple // ProDOS
|
|The OS opcodes are the same between SOS and ProDOS, so the only changes
|needed to switch OS's is to change the JSR MLI to a BRK or visa-versa.

Well, it ain't that simple. This will work for most of the system calls, but
some of the more important ones, like the memory allocation stuff, is
missing in ProDOS, and a few of the disk calls have slightly different
semantics. The memory one's are the killers. Apple had a nice memory layout
on the /// that would theoretically allow up to 8Meg to be accessed
linearly, but they had to go and put that brain-damaged memory layout in the
//e, //c. Gak.

-- 

Brian L. Matthews
Computer X Inc. - a division of Motorola New Enterprises
..{utcsri!utzoo!mnetor, uw-beaver!ssc-vax}!cxsea!blm
+1 206 251 6811

ranger@ecsvax.UUCP (Rick N. Fincher) (12/01/86)

I've often wondered how Apple implemented the memory on the Apple III.
I know it used a 6502 and could use 128 or 256K how did they do this?
was addressing handled by SOS or hardware add-ons or both?

Rick Fincher
ranger@ecsvax