diff --git a/src/system/boot/platform/amiga_m68k/debug.cpp b/src/system/boot/platform/amiga_m68k/debug.cpp index 2ef4e2d3d1..0f4a93f25d 100644 --- a/src/system/boot/platform/amiga_m68k/debug.cpp +++ b/src/system/boot/platform/amiga_m68k/debug.cpp @@ -19,16 +19,26 @@ void panic(const char *format, ...) { - struct AlertMessage { - uint16 column; - uint8 line; - char messages[14+512]; - } alert = { + static struct AlertMessage { + uint16 column1; + uint8 line1; + char message[14]; + uint8 cont; + uint16 column2; + uint8 line2; + char buffer[512]; + uint8 end; + + } _PACKED alert = { 10, 12, - "*** PANIC ***" + "*** PANIC ***", + 1, + 10, 22, + "", + 0 }; - char *buffer = &alert.messages[14]; + char *buffer = alert.buffer; va_list list; //platform_switch_to_text_mode(); @@ -36,10 +46,10 @@ panic(const char *format, ...) memset(buffer, 0, 512); va_start(list, format); - vsnprintf(buffer, 512-1, format, list); + vsnprintf(buffer, 512, format, list); va_end(list); - DisplayAlert(DEADEND_ALERT, &alert, 30); + DisplayAlert(DEADEND_ALERT, &alert, 40); clear_key_buffer(); wait_for_key(); diff --git a/src/system/boot/platform/amiga_m68k/shell.S b/src/system/boot/platform/amiga_m68k/shell.S index 49d0a3350c..115c93394a 100644 --- a/src/system/boot/platform/amiga_m68k/shell.S +++ b/src/system/boot/platform/amiga_m68k/shell.S @@ -493,7 +493,7 @@ sNumSectors: // 0x180 is the allowed maximum, as the zipped TAR with the // kernel and the boot module might start at offset 192 kB //.word 0x0300 //0x0180 - .word 6//BOOT_ARCHIVE_IMAGE_OFFSET*2 + .word BOOT_ARCHIVE_IMAGE_OFFSET*2 sBootIOReq: .long 0 diff --git a/src/system/boot/platform/amiga_m68k/start.cpp b/src/system/boot/platform/amiga_m68k/start.cpp index 2e98b7f8a3..17512385d2 100644 --- a/src/system/boot/platform/amiga_m68k/start.cpp +++ b/src/system/boot/platform/amiga_m68k/start.cpp @@ -117,13 +117,10 @@ platform_exit(void) while (true) {} } -extern "C" void _floppy_err_alert(); - extern "C" void _start(void) { -_floppy_err_alert(); - panic("plop"); + panic("plop %d", 1234); stage2_args args; //asm("cld"); // Ain't nothing but a GCC thang.