[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: .SYSTEM file extensions
In article <1993Aug3.141532.27046@actrix.gen.nz>
dempson@swell.actrix.gen.nz (David Empson) writes:
|Well it would be $9600 then - BASIC.SYSTEM must allocate one file
|buffer to load in the SYS file!
Granted. I keep forgetting about these type of contingencies.
|I wasn't aware that the general purpose buffer was used for garbage
|collection - I thought it was for doing CATALOGs and the like.
There is a list of uses in a book I have. I believe the book is
_Exploring ProDOS 8 and GS/OS_ by Gary B. Little (but don't quote me
on that).
It is used the BASIC.SYSTEM FRE command, not the Applesoft FRE
command. The BASIC.SYSTEM one was added because of the snail-like
speed of Applesoft's FRE command. It is between six and nine times
faster, as I recall. That's why "they" (?) recommend
PRINT CHR$(4)"FRE"
over
DUMMY = FRE(0)
I'm sure you probably already knew this -- I was posting it for the
benefit of the wider audience. :)
|ProDOS bitmap to appropriate values. Once BASIC.SYSTEM has loaded
|a SYS file and done a JMP $2000, it is no longer part of the picture -
|the new file has complete control (and should set up ProDOS's global
I have always disagreed with this type of policy.
The system program that is "exiting stage-left" should have the
responsibility of deallocating any memory it has been using. Having
marauding programs go around and take over the whole computer
(including axing the auxilliary memory RAM disk at a whim) is a
drawback, not a feature.
However, that point is academic; it was Apple Computers's decision,
not mine. (Ah! If only I were king! <sigh>)
|> Now, to be standing corrected, someone has to give me an example of a
|> type SYS file with a .SYSTEM extension that exceeds $7A00 bytes in
|> size (without conveniently renaming one). Anyone, anyone, anyone,
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
|The ".SYSTEM" extension has nothing to do with BASIC! You can rename
|SHRINKIT to SHRINKIT.SYSTEM, and ProDOS will load it (if it is the
|first .SYSTEM file) when you boot the disk.
Weren't you listenin, Dave!? :) I said "without conveniently
renaming one".
I know that the .SYSTEM extension has nothing to do with BASIC.
I just want to know whether or not any (originally named) .SYSTEM
files exceed $7200 bytes. From this, I will be able to generalize
(for myself -- I don't want any help here) whether or not all .SYSTEM
files are executable from the BASIC prompt. Answer the first part, and
I'll handle my conclusion for the second part.
So, let's see if I can restate my question (yet again), ;)
Are there any system files that are distributed from their sources
*originally* named with a .SYSTEM extension that exceed $7200 bytes
in length? Examples include BASIC.SYSTEM, SHRINKIT.SYSTEM,
OPIX.SYSTEM, KYAN.SYSTEM, SQUIRT.SYSTEM, et al.
A "yes" or a "no" answer will suffice. :)
|I just tried this, and it works fine with ShrinkIt 3.4 and ProDOS-8
|2.0.3.
~~~~~
PARDONEZ-MOI? When was v2.0.3 released? How can I get a copy? :)
|> o Pre-ProDOS 8 v1.9 QUIT code could not load system files larger than
|> 38K in size (even though there is 39.75K free). Any type SYS file
|> could still be loaded from the selector as long as it was smaller
|> than 38K. Since that version, system files up to 39.75K are
|> loadable.
Oops. It seems that I have made a boo-boo. I guess that means that I
am either human or an all-too-perfect Turing machine.
The above quoted paragraph is only true for *boot-up*. Pre-v1.9 QUIT
code can still handle system files up to 39.75K.
|I just repeated the above experiment with ProDOS-8 1.4, and it hung
|during boot (when trying to load SHRINKIT, which I'd renamed as
|SHRINKIT.SYSTEM).
|
|However, it seemed to load SHRINKIT correctly from the "quit" code
|launcher.
This was another fix (that I didn't mention). Here's a direct excerpt
from the technote describing v1.9 changes (with no further hinderance
by personal interpretation):
o Fixed two bugs involved in booting into a ".SYSTEM" program larger
than 38K. First, ProDOS 8 should be able to boot into a program
as large as 39.75K, but was returning an error if the ".SYSTEM"
program was larger than 38K. Second, when attempting to print the
message "*** SYSTEM PROGRAM TOO LARGE ***", only one asterisk was
printed. Both these bugs are fixed.
So, I assume that in your experiment, it didn't just hang. It printed
an asterisk first -- then it hung. :)
|David Empson
|dempson@swell.actrix.gen.nz
Looking forward to yet another insightful reply. :)
--
internet: dockery@griffin.cuc.ab.ca
-or- sbdocker@acs.ucalgary.ca
-or- dockery@pro-calgary.cts.com
pro-line: dockery@pro-calgary