# GSOSlink # By Bryan Atsatt # # This file links and builds the following files: # # GS.OS # START.GS.OS # ERROR.MSG # # Link everybody... # unset LnkOptions if "{ListFlag}" || "{ListPartFlag}" set LnkOptions "-l > {Listings}os.symbols" end linkiigs -apw -o {WorkFolder}scm.lnk {LnkOptions} ¶ -lseg scm_seg_0 # becomes scm.bin ¶ {Object}scm.obj(@start_seg0) ¶ {Object}scm.obj(@oscall_seg) ¶ {Object}scm.obj(@end_seg0) ¶ -lseg scm_seg_1 # becomes scm.bin.2 ¶ {Object}scm.obj(@start_seg1) ¶ {Object}scm.obj(@misc_seg) ¶ {Object}scm.obj(@end_seg1) ¶ -lseg scm_seg_2 # becomes scm.bin.3 ¶ {Object}scm.obj(@start_seg2) ¶ {Object}scm.obj(@scm_main) ¶ {Object}scm.obj(@end_seg2) ¶ -lseg scm_seg_3 # becomes scm.bin.4 ¶ {Object}scm.obj(@start_seg3) ¶ {Object}scm.obj(@system_svc) ¶ {Object}scm.obj(@end_seg3) ¶ -lseg scm_seg_4 # becomes scm.bin.5 ¶ {Object}scm.obj(@start_seg4) ¶ {Object}scm.obj(@bank_e1) ¶ {Object}scm.obj(@end_seg4) ¶ -lseg b00segr # becomes scm.bin.6 ¶ {Object}b00segr.s.obj ¶ {Object}bank0.obj ¶ {Object}b00segr.e.obj ¶ -lseg be0segr # becomes scm.bin.7 ¶ {Object}be0segr.s.obj ¶ {Object}device.dispatcher.obj ¶ {Object}be0segr.e.obj ¶ -lseg gquit.1 # becomes scm.bin.8 ¶ {Object}gquit.obj(@seg_gldr) ¶ -lseg gquit.2 # becomes scm.bin.9 ¶ {Object}gquit.obj(@seg_b0) ¶ -lseg gquit.3 # becomes scm.bin.10 ¶ {Object}gquit.obj(@seg_e1) ¶ -lseg gquit.4 # becomes scm.bin.11 ¶ {Object}gquit.obj(@seg_e0) ¶ -lseg cache # becomes scm.bin.12 ¶ {Object}cache.obj ¶ -lseg init.1 # becomes scm.bin.13 ¶ {Object}init1.obj ¶ -lseg init.2 # becomes scm.bin.14 ¶ {Object}init2.obj ¶ -lseg init.3 # becomes scm.bin.15 ¶ {Object}init3.obj ¶ -lseg init.4 # becomes scm.bin.16 ¶ {Object}init4.obj ¶ -lseg terminator # becomes scm.bin.17 ¶ {Object}scm.obj(@terminator) # # Make binary... # makebiniigs {WorkFolder}scm.lnk -o {WorkFolder}scm.bin # # Create "START.GS.OS" from binary... # catenate {WorkFolder}scm.bin.8 > {SDsystem}start.gs.os catenate {WorkFolder}scm.bin.9 >> {SDsystem}start.gs.os catenate {WorkFolder}scm.bin.10 >> {SDsystem}start.gs.os catenate {WorkFolder}scm.bin.11 >> {SDsystem}start.gs.os # # Set filetype and auxtype... # set exit 0; echo "foo" | rez -o {SDsystem}start.gs.os -m -c pdos -t $70f90007 ³ dev:null; set exit 1 # # Set the mod time to the current time # setfile -m . {SDsystem}start.gs.os # # Create "GS.OS" from binary... # catenate {WorkFolder}loader > {SDsystem}gs.os catenate {WorkFolder}scm.bin >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.2 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.3 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.4 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.5 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.6 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.7 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.12 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.13 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.14 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.15 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.16 >> {SDsystem}gs.os catenate {WorkFolder}scm.bin.17 >> {SDsystem}gs.os # # Set filetype and auxtype... # set exit 0; echo "foo" | rez -o {SDsystem}gs.os -m -c pdos -t $70f90000 ³ dev:null; set exit 1 # # Set the mod time to the current time # setfile -m . {SDsystem}gs.os