1
0
mirror of https://github.com/hsoft/collapseos.git synced 2024-11-24 02:58:06 +11:00
collapseos/apps
Virgil Dupras 83b314c450 zasm: lower RAM requirements
I've tested RAM usage when self-assembling and there weren't as high
as I thought. zasm's defaults now use less than 0x1800 bytes of RAM,
making it possible, theoretically for now, for a Sega Master System
to assemble Collapse OS from within itself.
2019-10-06 15:42:09 -04:00
..
at28w zasm: rename #inc to .inc 2019-10-06 14:32:23 -04:00
ed zasm: rename #inc to .inc 2019-10-06 14:32:23 -04:00
lib ed: add support for 'a' and 'i' 2019-07-14 17:35:21 -04:00
memt zasm: rename #inc to .inc 2019-10-06 14:32:23 -04:00
sdct zasm: rename #inc to .inc 2019-10-06 14:32:23 -04:00
zasm zasm: lower RAM requirements 2019-10-06 15:42:09 -04:00
README.md Make userspace parse args the same way the shell does 2019-06-02 14:05:20 -04:00

User applications

This folder contains code designed to be "userspace" application. Unlike the kernel, which always stay in memory. Those apps here will more likely be loaded in RAM from storage, ran, then discarded so that another userspace program can be run.

That doesn't mean that you can't include that code in your kernel though, but you will typically not want to do that.

Userspace convention

We execute a userspace application by calling the address it's loaded into. This means: a userspace application is expected to return.

Whatever calls the userspace app (usually, it will be the shell), should set HL to a pointer to unparsed arguments in string form, null terminated.

The userspace application is expected to set A on return. 0 means success, non-zero means error.