// // IEC part of the SAVE routine // // XXX this is untested! // test EAL/STAL - LOAD (tape, disk), SAVE - Open ROMs vs hybrid vs original #if CONFIG_IEC save_iec_dev_not_found: jmp lvs_device_not_found_error save_iec_error: jmp lvs_device_not_found_error // XXX find a better error save_iec: // XXX finish the implementation // Display SAVING jsr lvs_display_saving // Call device to LISTEN lda FA jsr LISTEN bcs save_iec_dev_not_found // Open channel 1 (reserved for file writing) lda #$01 jsr iec_cmd_open bcs save_iec_dev_not_found // Send file name jsr iec_send_file_name bcs save_iec_error // Call device to LISTEN once again lda FA jsr LISTEN bcs save_iec_dev_not_found lda #$60 // open channel / data (p3) , required according to p13 sta TBTCNT jsr iec_tx_command bcs save_iec_error // Save start address XXX optimize this lda STAL+0 sta TBTCNT clc jsr iec_tx_byte lda STAL+1 sta TBTCNT clc jsr iec_tx_byte ldy #$00 iec_save_loop: // Retrieve byte to send #if CONFIG_MEMORY_MODEL_60K ldx #