mirror of
https://github.com/hsoft/collapseos.git
synced 2024-11-20 16:38:06 +11:00
e4a4a9800d
It's a bit more inconvenient in terms of register protection (BC is much more generally useful than IY), but it makes tight spots such as next and execute much faster, so I think it's worth it.
17 lines
692 B
Plaintext
17 lines
692 B
Plaintext
Z80 boot code
|
|
|
|
This assembles the boot binary. It requires the Z80 assembler
|
|
(B200) and cross compilation setup (B260). It requires some
|
|
constants to be set. See B420 for details.
|
|
|
|
RESERVED REGISTERS: At all times, IX points to RSP TOS and BC
|
|
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. (cont.)
|