11#include "./x65.h"
22#include "../args.h"
3+ #include "../log.h"
34
45#include "chips/clk.h"
56
@@ -407,6 +408,7 @@ void x65_joystick(x65_t* sys, uint8_t joy1_mask, uint8_t joy2_mask) {
407408bool x65_quickload_xex (x65_t * sys , chips_range_t data ) {
408409 CHIPS_ASSERT (sys && sys -> valid && data .ptr );
409410 if (data .size < 2 ) {
411+ LOG_ERROR ("File too small" );
410412 return false;
411413 }
412414 const uint8_t * ptr = (uint8_t * )data .ptr ;
@@ -418,19 +420,22 @@ bool x65_quickload_xex(x65_t* sys, chips_range_t data) {
418420
419421 // $FFFF is required in first block
420422 if (ptr [0 ] != 0xff || ptr [1 ] != 0xff ) {
423+ LOG_ERROR ("Missing $FFFF header" );
421424 return false;
422425 }
423426
424427 while (ptr < ((uint8_t * )data .ptr + data .size )) {
425428 size_t data_left = (uint8_t * )data .ptr + data .size - ptr ;
426429 if (data_left < 4 ) {
430+ LOG_ERROR ("File truncated" );
427431 return false;
428432 }
429433 if (ptr [0 ] == 0xff && ptr [1 ] == 0xff ) {
430434 // skip header
431435 ptr += 2 ;
432436 data_left -= 2 ;
433437 if (data_left < 4 ) {
438+ LOG_ERROR ("File truncated" );
434439 return false;
435440 }
436441 }
@@ -439,13 +444,16 @@ bool x65_quickload_xex(x65_t* sys, chips_range_t data) {
439444 ptr += 2 ;
440445 const uint16_t end_addr = ptr [1 ] << 8 | ptr [0 ];
441446 ptr += 2 ;
447+ LOG_INFO ("Loading block: %04X-%04X" , start_addr , end_addr );
442448
443449 data_left = (uint8_t * )data .ptr + data .size - ptr ;
444450 if (data_left < (end_addr - start_addr + 1 ) || start_addr > end_addr ) {
451+ LOG_ERROR ("Block truncated" );
445452 return false;
446453 }
447454 if (start_addr == end_addr && start_addr == 0xFFFE ) {
448455 load_bank = * ptr ++ ;
456+ LOG_INFO ("Loading to bank: %d" , load_bank );
449457 }
450458 else {
451459 uint16_t addr = start_addr ;
@@ -458,6 +466,7 @@ bool x65_quickload_xex(x65_t* sys, chips_range_t data) {
458466 }
459467
460468 if (reset_lo_loaded && reset_hi_loaded ) {
469+ LOG_INFO ("Reset vector set - running" )
461470 x65_set_running (sys , true);
462471 }
463472
0 commit comments