diff --git a/src/system/boot/platform/atari_m68k/devices.cpp b/src/system/boot/platform/atari_m68k/devices.cpp index 06aec2f754..3a39919f81 100644 --- a/src/system/boot/platform/atari_m68k/devices.cpp +++ b/src/system/boot/platform/atari_m68k/devices.cpp @@ -904,8 +904,10 @@ XHDIDrive::ReadBlocks(void *buffer, off_t first, int32 count) /* uint8 *b = (uint8 *)buffer; int i = 0; - for (i = 0; i < 512; i+=8) { - TRACE(("[%ld] %02x %02x %02x %02x %02x %02x %02x %02x\n", i, b[i], b[i+1], b[i+2], b[i+3], b[i+4], b[i+5], b[i+6], b[i+7])); + for (i = 0; i < 512; i+=16) { + TRACE(("[%8Ld+%3ld] %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x %02x\n", + first, i, b[i], b[i+1], b[i+2], b[i+3], b[i+4], b[i+5], b[i+6], b[i+7], + b[i+8], b[i+9], b[i+10], b[i+11], b[i+12], b[i+13], b[i+14], b[i+15])); //break; } */ diff --git a/src/system/boot/platform/atari_m68k/shell.S b/src/system/boot/platform/atari_m68k/shell.S index 4c1fb79de3..d809fcce90 100644 --- a/src/system/boot/platform/atari_m68k/shell.S +++ b/src/system/boot/platform/atari_m68k/shell.S @@ -146,7 +146,7 @@ floppy_done: load_sectors: -#if 1 +#if 0 /* it seems to skip 9 every 9 sectors, buggy side handling ? */ // Rwabs //move.l #1,-(%sp) @@ -228,18 +228,27 @@ prg_start: lea h5,%a0 bsr puts + lea _bs_entry,%a0 + move.l %a0,%d0 + bsr putx // copy the rest of the prg - move.l sNumSectors,%d0 - sub.l #1,%d0 + + // load counter + clr.l %d0 + move.w sNumSectors,%d0 + sub.w #1,%d0 + // load addresses lea _bs_entry,%a0 move.l #ATARI_ZBEOS_BASE,%a1 + nextsect: move.l #512/4-1,%d1 copysect_loop: move.l (%a0)+,(%a1)+ dbf %d1,copysect_loop + bsr putx dbf %d0,nextsect lea msg_j1,%a0