Re: LZ: PSOII Libraries


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

Re: LZ: PSOII Libraries



Micah/Richard Brodsky wrote:
>
> *** You mean not much bigger than OS-85? CShell is smaller than ZShell.

No, I meant CShell. It [Usgard] is a little more than 1k bigger then CShell, which isn't
much at all.

> *** I don't have a shell. I have a shell independant overlay system, not
> needing a backup or an installer PRGM. And because of the way RST 10h works, a
> program can detect whether a library is missing with 2 bytes.

Two bytes? You would have to store the name of the library string somewhere
in the program also.

> Also, one simply
> doesn't have to have the ZShell signature in them, thereby making them visible
> in TI-OS but not ZShell/CShell/OS-85. As for knowing what you can delete when
> deleting a program, well, I have never heard of a method for making that easy
> that will work with PSOII. All I can think of is listing it in programs'
> startup screens and/or in the docs.

If in the startup screen - memory wasting. And docs? HAHAHAHA - 95% of all
ti gamers are allergic to docs. If they don't delete it immediatelly, they
at least never read them.

> *** That's the key! Their is no "plain ZShell" to PSOII. The libraries are all
> independant strings that you can place in an .85g with your program. If the
> library's already there, you just don't overwrite it. Simple as that. No
> change to the shell's string at all!

How do you make a call to a library? If you don't intend to have a shell
whatsoever, the whole library name needs to be in the program. Also, each
call will take several bytes. It will take even more bytes if you want more
than one function in each library (which of course is a requirement).

> >2 bytes per relocation? You save one byte for each CALL_ and JUMP_ (which=
> 
> *** DAMN! A major miscount here: for some reason, you don't save space (also,
> the loader is 45 bytes, not 63)?! At any rate, I have plan to up it to 2 bytes
> for sure, I just have to write the code. I have a plan that also won't save
> space, but will increase speed.

Save two bytes when making a CALL_? Good luck :)

> *** So what if it's old? This allows relocation without changing your shell!
> And you save space over having the code built in to programs if even 2
> programs use it. It's an independant string of 115 bytes. I may make it MUCH
> more efficient by bringing it up to about 170 bytes. (How's temporarily
> classified;)

As most ppl who dislike libraries have pointed out - libraries will not be
reused that much.

> *** As I said before, no shell here, and this isn't exculsive with interrupts.
> I could build a non-PSOII library to add interrupt functionality, shell
> independant, to work with PSOII. Also, this is designed to be a near-painless
> and very compact implementation of some features that USGARD happens to have,
> but intended for people who don't want USGARD or don't have room for it. (And
> you could have as many libraries as you want, no limit of 256)

Hmm, where do you intend to store the 257 byte interrupt vector if you want
to make it shell independent? Btw, 256 libraries is more than enough :)

-- 
Jimmy Mårdell                   "Searching for shelter
mailto:mja@algonet.se            My brain is on ice
http://www.algonet.se/~mja       I'm scared of my own thoughts
IRC: Yarin                       I can hear them cry" /Leather Strip


References: