Re: LZ: PSOII Libraries


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

Re: LZ: PSOII Libraries



Micah/Richard Brodsky wrote:
> What I though of (here's where you skip to if you got bored):
> -Most people use ZShell (I'm talking about in general, not just on this list),
> right?

At the moment yes.

> -USGARD is larger than ZShell, CShell, UShell, and OS-85, right?

Yeah, it's 2k for the core, another 300 bytes for a shell. Not much bigger
then CShell, and after only a few Usgard games you have saved space.

> -People who don't have USGARD won't usually want to wipe their calc's memory
> and sacrifice space just for a few games, right?

No, but when Usgard games became many and when great games only exists for
Usgard...

> -Libraries have the potential, if used well, to save quite a bit of memory,
> right?

Yes. The problem however is that most people DISLIKE the whole idea of libraries,
believe it or not... having many strings on the calculator and without knowing
what they do seems to confuse ppl, especially all diehard gamers (which most
ppl are) who have to figure out what libraries are needed for a game. If you
have a shell with libraries, it must be easy to find out which libraries it
requires.

> -Why not make a Passive Shell Overlay library system that is Shell Independant
> (theoretically, libraries should even work with UShell, which is incompatible
> with ZShell), Hence PSOII?
>  I did.

You mean, a sort of add-on to ZShell/CShell etc which supports libraries? Well,
it would be possible of course. The problem will still arise that with the
library support, it becomes a new OS sort of - games using libraries will
be incompatible with plain ZShell.

>  I made a PSOII library for rudimentary remapping. Add 63 bytes and a
> remapping table to your code. Have this 115 byte library packaged with your
> program. In other words, in about 5 minutes, your standard ZShell/CShell/OS-85
> program can be a library-based remapping program, greatly increasing speed and
> reducing your size by 2 bytes per remap (including the table, not including
> the 63 byte loader and 115 byte shared PSOII library). If your code is small,

2 bytes per relocation? You save one byte for each CALL_ and JUMP_ (which are
the most common places for relocating/remapping) and 3 byte whenever you
add (PROGRAM_ADDR) to get the absolute address to a label. Btw, this piece
of code should definately be inside the OS not the program. The whole idea
of relocating is quite old also.

> you sacrifice a little size for speed. If your code is mediuim-sized, you
> simply gain speed. If your code is large, you gain speed and reduce size. I've
> tested this: ZD-Bug would knock off ~80 bytes (not including the library) and
> be faster. Bounce (actually an ancient demo, if you didn't know) would gain
> ~45 bytes, but it does not need speed, being simple. No need for USGARD,
> memory backups, or installation programs.

The 'shell' (or whatever you call it) seems to be something between Zshell and
Usgard - it has libraries, you suggest remapping (although each program uses
it's own remapping routine!?). Usgard also has interrupt support (as you probably
know) which is something VERY great.

-- 
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: