tape load now handles secondary address
This commit is contained in:
1 parent
4a1351de4c
commit
c1104e0738
3 files changed
+34
-4
No files matched your search
@@ -33,7 +33,6 @@ The following ROM features are currently missing:
|
|||||||
* BASIC expression parsing
|
* BASIC expression parsing
|
||||||
* floating point routines
|
* floating point routines
|
||||||
* tape (normal mode) support
|
* tape (normal mode) support
|
||||||
* tape loading ignores secondary address and has no pattern matching
|
|
||||||
* IEC support for SAVE
|
* IEC support for SAVE
|
||||||
* RS-232 support
|
* RS-232 support
|
||||||
* NMI handling is incomplete
|
* NMI handling is incomplete
|
||||||
|
|||||||
@@ -8,7 +8,6 @@
|
|||||||
|
|
||||||
|
|
||||||
// XXX use calibration bits to improve reading
|
// XXX use calibration bits to improve reading
|
||||||
// XXX handle load address from Kernal API
|
|
||||||
|
|
||||||
|
|
||||||
#if CONFIG_TAPE_TURBO
|
#if CONFIG_TAPE_TURBO
|
||||||
|
|||||||
@@ -164,6 +164,38 @@ tape_handle_header:
|
|||||||
lda (TAPE1), y
|
lda (TAPE1), y
|
||||||
sta EAL+1
|
sta EAL+1
|
||||||
|
|
||||||
|
// Handle the secondary address, 0 means loading to location from MEMUSS
|
||||||
|
|
||||||
|
lda SA
|
||||||
|
bne !+
|
||||||
|
|
||||||
|
// EAL = EAL - STAL
|
||||||
|
|
||||||
|
sec
|
||||||
|
lda EAL+0
|
||||||
|
sbc STAL+0
|
||||||
|
sta EAL+0
|
||||||
|
lda EAL+1
|
||||||
|
sbc STAL+1
|
||||||
|
sta EAL+1
|
||||||
|
|
||||||
|
// STAL = MEMUSS
|
||||||
|
|
||||||
|
lda MEMUSS+0
|
||||||
|
sta STAL+0
|
||||||
|
lda MEMUSS+1
|
||||||
|
sta STAL+1
|
||||||
|
|
||||||
|
// EAL = EAL + STAL
|
||||||
|
|
||||||
|
clc
|
||||||
|
lda EAL+0
|
||||||
|
adc STAL+0
|
||||||
|
sta EAL+0
|
||||||
|
lda EAL+1
|
||||||
|
adc STAL+1
|
||||||
|
sta EAL+1
|
||||||
|
!:
|
||||||
// Print LOADING
|
// Print LOADING
|
||||||
|
|
||||||
jsr lvs_display_loading_verifying
|
jsr lvs_display_loading_verifying
|
||||||
@@ -269,9 +301,9 @@ tape_load_success:
|
|||||||
jsr tape_screen_show_motor_off
|
jsr tape_screen_show_motor_off
|
||||||
jsr lvs_display_done
|
jsr lvs_display_done
|
||||||
jsr print_return
|
jsr print_return
|
||||||
|
!:
|
||||||
cli
|
cli
|
||||||
jmp lvs_success_end
|
jmp lvs_return_last_address
|
||||||
|
|
||||||
tape_load_error:
|
tape_load_error:
|
||||||
|
|
||||||
|
|||||||
Reference in new issue
Block a user