mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-27 16:28:06 +11:00
1312817117
Previously, recipes that began spitting binary contents before loading block 282 would end up with VARIABLE code in their binary, thus breaking them. We fix this by making this loading process 2-part.
16 lines
654 B
Plaintext
16 lines
654 B
Plaintext
RESERVED REGISTERS: At all times, IX points to RSP TOS and IY
|
|
is IP. SP points to PSP TOS, but you can still use the stack\
|
|
in native code. you just have to make sure you've restored it
|
|
before "next".
|
|
|
|
STABLE ABI: The boot binary starts with a list of references.
|
|
The address of these references have to stay to those addr-
|
|
esses. The rest of the Collapse OS code depend on it. In fact,
|
|
up until 0x67, the (?br) wordref, pretty much everything has
|
|
to stay put.
|
|
|
|
The boot binary is loaded in 2 parts. The first part, "decla-
|
|
rations", are loaded after xcomp, before xcomp overrides, with
|
|
"282 LOAD". The rest, after xcomp overrides, with "283 335
|
|
LOADR".
|