Index: Makefile
===================================================================
--- Makefile	(revision 6dc5ea7000bff3bcffba6e41b975f23c1ce646eb)
+++ Makefile	(revision f394e7bdf73d6dc1f166fa83e1d688a6b984596f)
@@ -151,5 +151,6 @@
 ROM_CO :=		$(ROM_C:.c=.o)
 ROM_SO :=		$(ROM_S:.s=.o)
-ROM_OBJ :=		$(ROM_CO:%=build/%) $(ROM_SO:%=build/%)
+# ROM_SO goes before ROM_CO, so that bios.o is first.
+ROM_OBJ :=		$(ROM_SO:%=build/%) $(ROM_CO:%=build/%)
 
 LOWRAM_S :=		lowram.s
@@ -167,6 +168,6 @@
 rom.abs:		$(ROM_OBJ) \
 				prolog.a iolib.a libcio.a libsm.a lib700.a vlib.a
-				$(CROSS_GCC) $(FLAGS_LNK) -Wl,--script misc/rom.ld -o rom.abs \
-				$(ROM_OBJ) \
+				$(CROSS_GCC) $(FLAGS_LNK) -Wl,--script,misc/rom.ld,--entry,0x100000 \
+				-o rom.abs $(ROM_OBJ) \
 				prolog.a libcio.a vlib.a iolib.a libsm.a lib700.a -lgcc
 
@@ -206,6 +207,6 @@
 midas.abs:		$(LOWRAM_OBJ) prolog.a $(RAM_OBJ) \
 				iolib.a libcio.a libsm.a lib700.a vlib.a
-				$(CROSS_GCC) $(FLAGS_LNK) -Wl,--script misc/ram.ld -o midas.abs \
-				$(LOWRAM_OBJ) prolog.a $(RAM_OBJ) \
+				$(CROSS_GCC) $(FLAGS_LNK) -Wl,--script,misc/ram.ld,--entry,0x10000 \
+				-o midas.abs $(LOWRAM_OBJ) prolog.a $(RAM_OBJ) \
 				libcio.a vlib.a iolib.a libsm.a lib700.a -lgcc
 
