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

Re: Kyan Pascal - new insights



In article <mark-200793090558@128.157.9.145>, mark@pokey.jsc.nasa.gov (Mark Manning) writes:
 
> The one I wish to talk about deals with the CHAINPROGRAM.I routine.
> What is so strange about this program is that it does not call the
> KIX.SYSTEM program's entry point to run a program.  Instead, it
> relocates itself up to $BE00 and then does a JSR _MLI to both open
> and read in the next program.
It's a long time ago I used Kyan Pascal, but as I remember, KIX:SYSTEM
replaces the PRODOS Quit code in the Language Card Bank 1 or 2 [don't
remember exactly]. KIX isn't much more than a resident program launcher
like the Quit Code in newer ProDOS versions. In the days I used it,
there was this awful PRODOS Quit Code where you had to enter the path-
name of the next .SYSTEM file to start
> 
> Now, I know that KIX.SYSTEM _has_ to replace the PRODOS.SYSTEM file
> in the Apple's memory.  KIX.SYSTEM has to, therefore, have a means
> of parsing the incoming command lines.  So why doesn't a program,
> which is to run under the KIX.SYSTEM, simply call the KIX.SYSTEM
> routine?  Or even the PRODOS.SYSTEM routines?
Some clarifications here:
1- there is no PRODOS.SYSTEM file, as I know, you probably mean
   BASIC.SYSTEM
2- KIX doesn't replace the entire PRODOS, but only the Quit Code
   in the Language Card: Try it: start a SYSTEM file from KIX and
   quit -- you're in KIX again!
The purpose of KIX is really only starting programs and parsing user
input. There is no functionality a program could use, so there is no point
to call internal KIX routines. [I am not sure, but you could start programs
developed under Kyan without KIX, if they're SYSTEM files, and if you
copy the run time library into the same directory]

Hope it helped :)

--Urs

|  BRIGHT SOFTWARE          |  * A P P L E   I I   F O R E V E R *  |
|  Urs Hochstrasser         |  Actually in Development: C H E M I X |
|  Strassburgerallee 79     |  Pseudo:   CodeBurger (binary sauce)  |
|  4055 BASEL, SWITZERLAND  |  InterNET: HOCHSTRASSE@URZ.UNIBAS.CH  |