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