; $VER: Startup-Sequence_HardDrive 47.25 (10.2.2025)
; Startup-Sequence for hard drive systems

If EXISTS S:Pre-LoadModule-Startup
  Execute S:Pre-LoadModule-Startup
EndIf

;------------------- ROM CheckInstall Section ------------------------

Version exec.library version 48 >NIL:
If Warn
  Version exec.library version 47 >NIL:
  If Warn
    LoadModule L:System-Startup ROMUPDATE
  Else
    Version strap version 47 >NIL:
    If Warn
      LoadModule DOWNGRADE L:Ram-Handler L:Shell-Seg L:System-Startup Libs:dos.library Libs:gadtools.library Libs:graphics.library Libs:intuition.library Libs:Modules/bootmenu >NIL:
    Else
      Version exec.library revision 9 >NIL:
      If Warn
        LoadModule DOWNGRADE L:Ram-Handler L:System-Startup Libs:intuition.library Libs:Modules/bootmenu >NIL:
      EndIf
      Version exec.library revision 11 >NIL:
      If Warn
        LoadModule DOWNGRADE L:Ram-Handler L:System-Startup Libs:intuition.library Libs:Modules/bootmenu >NIL:
      EndIf
    EndIf
  EndIf
EndIf

Version ram-handler 47 >NIL:
If Warn
    C:RequestChoice "WARNING!" "Required V47+ ROM modules not found.*NPlease check installation or try a cold reboot." "OK" >NIL:
    QUIT
EndIf

SetPatch >NIL:

;------------------- CPU CheckInstall Section ------------------------

FailAt 31
CPU CHECKINSTALL

SET temp1 $RC

If VAL $temp1 EQ 30
  ECHO ""
  ASK "Press the RETURN key to resume booting into a restricted system."
  Execute S:Startup-failsafe
  QUIT
EndIf

If VAL $temp1 EQ 5
  ECHO ""
  ASK "Press the RETURN key to resume booting."
EndIf

UNSET temp1

;---------------- End of CPU CheckInstall Section --------------------

FailAt 10
Version >NIL:


Assign >nil: EXISTS DF0:
If not warn
  AddBuffers DF0: 15 >NIL:
EndIf

If EXISTS ENVARC:
   MakeLink RAM:ENV to ENVARC: FORCE
Else
   MakeDir RAM:ENV
EndIf
MakeDir RAM:T RAM:Clipboards

Resident C:Assign PURE

Assign ENV: RAM:ENV
Assign T: RAM:T
Assign CLIPS: RAM:Clipboards
Assign REXX: S:

FailAt 21
Assign PRINTERS: DEVS:Printers
Assign KEYMAPS: DEVS:Keymaps
Assign LOCALE: SYS:Locale
Assign LIBS: SYS:Classes ADD
Assign HELP: LOCALE:Help DEFER

BindDrivers
Mount DEVS:DOSDrivers/~(#?.info)

LoadMonDrvs >NIL:

FailAt 10
SetEnv Language "english"
SetEnv Workbench $Workbench
SetEnv Kickstart $Kickstart
UnSet Workbench
UnSet Kickstart

AddDataTypes REFRESH QUIET
IPrefs
ConClip

If EXISTS SYS:System/RexxMast
  SYS:System/RexxMast >NIL:
EndIf

InitPPC

Path C: SYS:Utilities SYS:Rexxc SYS:System S: SYS:Prefs SYS:Tools SYS:Tools/Commodities

MakeLink RAM:Disk.info TO ENVARC:Sys/def_RAM.info SOFT

If EXISTS S:User-Startup
  Execute S:User-Startup
EndIf

LoadWB
EndCLI >NIL:
