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
This commit is contained in:
@@ -44,17 +44,6 @@
|
|||||||
#define _FindResident -0x60
|
#define _FindResident -0x60
|
||||||
#define _OldOpenLibrary -0x198
|
#define _OldOpenLibrary -0x198
|
||||||
#define _CloseLibrary -0x19e
|
#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
|
// intuition.library
|
||||||
#define _DisplayAlert -90
|
#define _DisplayAlert -90
|
||||||
|
|
||||||
@@ -91,14 +80,16 @@ _floppy_osversion: // ??
|
|||||||
|
|
||||||
floppy_start:
|
floppy_start:
|
||||||
// save some regs just in case
|
// 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 ?
|
// seems like a6 is already set to ExecBase when called from the ROM ?
|
||||||
move.l 4.w,%a6 // exec base
|
move.l 4.w,%a6 // exec base
|
||||||
jsr _FindResident(%a6)
|
//jsr _FindResident(%a6)
|
||||||
lea SysBase(%pc),%a2
|
lea SysBase(%pc),%a2
|
||||||
move.l %a6,(%a2)
|
move.l %a6,(%a2)
|
||||||
|
|
||||||
|
|
||||||
// lea dosname_boot(%pc),%a1
|
// lea dosname_boot(%pc),%a1
|
||||||
// move.l 4.w,%a6 // exec base
|
// move.l 4.w,%a6 // exec base
|
||||||
// jsr _FindResident(%a6)
|
// jsr _FindResident(%a6)
|
||||||
@@ -108,14 +99,20 @@ floppy_start:
|
|||||||
// move.l %d0,(%a2)
|
// move.l %d0,(%a2)
|
||||||
|
|
||||||
lea intname_boot(%pc),%a1
|
lea intname_boot(%pc),%a1
|
||||||
jsr _FindResident(%a6)
|
jsr _OldOpenLibrary(%a6)
|
||||||
tst.l %d0
|
tst.l %d0
|
||||||
beq.s _floppy_err
|
beq.s _floppy_err
|
||||||
lea IntuitionBase(%pc),%a2
|
lea IntuitionBase(%pc),%a2
|
||||||
move.l %d0,(%a2)
|
move.l %d0,(%a2)
|
||||||
|
|
||||||
|
// allocate absolute memory to put the bootloader
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
jsr _display_alert
|
||||||
|
|
||||||
|
bra _floppy_err
|
||||||
|
|
||||||
//_continue:
|
//_continue:
|
||||||
// lea dosname_boot(%pc),%a1
|
// lea dosname_boot(%pc),%a1
|
||||||
// move.l 4.w,%a6 // exec base
|
// move.l 4.w,%a6 // exec base
|
||||||
@@ -133,22 +130,27 @@ floppy_start:
|
|||||||
|
|
||||||
_floppy_err:
|
_floppy_err:
|
||||||
// pop up saved regs
|
// pop up saved regs
|
||||||
movem.l (%sp)+,%d1-%d7/%a0-%a6
|
//movem.l (%sp)+,%d1-%d7/%a0-%a6
|
||||||
moveq #-1,%d0
|
moveq #-1,%d0
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
_display_alert:
|
_display_alert:
|
||||||
move.l %a6,-(%sp)
|
//move.l %a6,-(%sp)
|
||||||
move IntuitionBase,%a6
|
lea IntuitionBase(%pc),%a6
|
||||||
|
move.l (%a6),%a6
|
||||||
lea alert_data(%pc),%a0
|
lea alert_data(%pc),%a0
|
||||||
moveq #0,%d0
|
moveq #0,%d0
|
||||||
move.l #30,%d1
|
move.l #40,%d1
|
||||||
jsr _DisplayAlert(%a6)
|
jsr _DisplayAlert(%a6)
|
||||||
move.l (%sp)+,%a6
|
//move.l (%sp)+,%a6
|
||||||
rts
|
rts
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
// ATARI
|
// ATARI
|
||||||
#if 0
|
#if 0
|
||||||
|
|
||||||
@@ -466,9 +468,9 @@ intname_boot:
|
|||||||
alert_data:
|
alert_data:
|
||||||
.word 10
|
.word 10
|
||||||
.byte 12
|
.byte 12
|
||||||
.ascii "Welcome to Haiku\0"
|
.ascii "Error loading Haiku: "
|
||||||
alert_extra:
|
alert_extra:
|
||||||
.ascii "\0\0"
|
.ascii "0\0"
|
||||||
.byte 0
|
.byte 0
|
||||||
|
|
||||||
GLOBAL(SysBase):
|
GLOBAL(SysBase):
|
||||||
|
|||||||
Reference in New Issue
Block a user