diff options
Diffstat (limited to 'roms/openbios/forth/system/main.fs')
-rw-r--r-- | roms/openbios/forth/system/main.fs | 60 |
1 files changed, 60 insertions, 0 deletions
diff --git a/roms/openbios/forth/system/main.fs b/roms/openbios/forth/system/main.fs new file mode 100644 index 000000000..122ab1fa3 --- /dev/null +++ b/roms/openbios/forth/system/main.fs @@ -0,0 +1,60 @@ +\ tag: misc useful functions +\ +\ Open Firmware Startup +\ +\ Copyright (C) 2003 Samuel Rydh +\ +\ See the file "COPYING" for further information about +\ the copyright and warranty status of this work. +\ + +variable PREPOST-list +variable POST-list +variable SYSTEM-list +variable DIAG-list + +: PREPOST-initializer ( xt -- ) + PREPOST-list list-add , +; + +: POST-initializer ( xt -- ) + POST-list list-add , +; + +: SYSTEM-initializer ( xt -- ) + SYSTEM-list list-add , +; + +: DIAG-initializer ( xt -- ) + DIAG-list list-add , +; + + +\ OpenFirmware entrypoint +: initialize-of ( startmem endmem -- ) + initialize-forth + + PREPOST-list begin list-get while @ execute repeat + POST-list begin list-get while @ execute repeat + SYSTEM-list begin list-get while @ execute repeat + + \ evaluate nvramrc script + use-nvramrc? if + nvramrc evaluate + then + + \ probe-all etc. + suppress-banner? 0= if + probe-all + install-console + banner + then + + DIAG-list begin list-get while @ execute repeat + + auto-boot? if + boot-command evaluate + then + + outer-interpreter +; |