From 398144a1b4e70610d54cb37a679b6fbfb844afb9 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Fran=C3=A7ois=20Revol?= Date: Sun, 10 Oct 2010 16:14:58 +0000 Subject: [PATCH] We don't need dos.library here. Open intuition.library correctly. git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@38935 a95241bf-73f2-0310-859d-f6bbb57e9c96 --- src/system/boot/platform/amiga_m68k/shell.S | 48 +++++++++++---------- 1 file changed, 25 insertions(+), 23 deletions(-) diff --git a/src/system/boot/platform/amiga_m68k/shell.S b/src/system/boot/platform/amiga_m68k/shell.S index 2a549cda30..902e0200ab 100644 --- a/src/system/boot/platform/amiga_m68k/shell.S +++ b/src/system/boot/platform/amiga_m68k/shell.S @@ -44,17 +44,6 @@ #define _FindResident -0x60 #define _OldOpenLibrary -0x198 #define _CloseLibrary -0x19e -// dos.library -#define Old_mode 1005 -#define New_mode 1006 -#define _Open -0x1e -#define _Close -0x24 -#define _Read -0x2a -#define _Write -0x30 -#define _Input -0x36 -#define _Output -0x3c -#define _IoErr -0x84 -#define _Delay -0xc6 // intuition.library #define _DisplayAlert -90 @@ -73,7 +62,7 @@ #define SECTSIZE 512 -//.text +// .text _bs_entry: // Amiga boot sector _floppy_entry: @@ -91,14 +80,16 @@ _floppy_osversion: // ?? floppy_start: // save some regs just in case - movem.l %d1-%d7/%a0-%a6,-(%sp) + //movem.l %d1-%d7/%a0-%a6,-(%sp) + // seems like a6 is already set to ExecBase when called from the ROM ? move.l 4.w,%a6 // exec base - jsr _FindResident(%a6) + //jsr _FindResident(%a6) lea SysBase(%pc),%a2 move.l %a6,(%a2) + // lea dosname_boot(%pc),%a1 // move.l 4.w,%a6 // exec base // jsr _FindResident(%a6) @@ -108,14 +99,20 @@ floppy_start: // move.l %d0,(%a2) lea intname_boot(%pc),%a1 - jsr _FindResident(%a6) + jsr _OldOpenLibrary(%a6) tst.l %d0 beq.s _floppy_err lea IntuitionBase(%pc),%a2 move.l %d0,(%a2) + // allocate absolute memory to put the bootloader + + jsr _display_alert + + bra _floppy_err + //_continue: // lea dosname_boot(%pc),%a1 // move.l 4.w,%a6 // exec base @@ -133,21 +130,26 @@ floppy_start: _floppy_err: // pop up saved regs - movem.l (%sp)+,%d1-%d7/%a0-%a6 + //movem.l (%sp)+,%d1-%d7/%a0-%a6 moveq #-1,%d0 rts _display_alert: - move.l %a6,-(%sp) - move IntuitionBase,%a6 + //move.l %a6,-(%sp) + lea IntuitionBase(%pc),%a6 + move.l (%a6),%a6 lea alert_data(%pc),%a0 moveq #0,%d0 - move.l #30,%d1 + move.l #40,%d1 jsr _DisplayAlert(%a6) - move.l (%sp)+,%a6 + //move.l (%sp)+,%a6 rts - + + + + + // ATARI #if 0 @@ -466,9 +468,9 @@ intname_boot: alert_data: .word 10 .byte 12 - .ascii "Welcome to Haiku\0" + .ascii "Error loading Haiku: " alert_extra: - .ascii "\0\0" + .ascii "0\0" .byte 0 GLOBAL(SysBase):