tape routines can now be placed in Mega65 extra ROM space

commit 2f27e29758da1f1ec965588c0712125051a6f71a
Merge: ba722b1 796b62f
Author: FeralChild64 <you@example.com>
Date:   Tue Jan 28 17:34:53 2020 +0100

    Merge branch 'master' into tape_redirect

commit ba722b17e627af7dd067932688de0a3d86423e37
Author: FeralChild64 <you@example.com>
Date:   Tue Jan 28 17:28:19 2020 +0100

    finished Mega65 variant of tape routines

commit 47de685f2e08576504c5e00a5b7cb78498d22e72
Author: FeralChild64 <you@example.com>
Date:   Mon Jan 27 23:06:45 2020 +0100

    compilation fix

commit c3641acec049a7a6b53c35795b1f9e2df212cec2
Author: FeralChild64 <you@example.com>
Date:   Mon Jan 27 22:53:30 2020 +0100

    dependencies fix

commit dfad7a30bde043fa077005624dde1de4b72573b6
Merge: e4b0ec9 e410bc0
Author: FeralChild64 <you@example.com>
Date:   Mon Jan 27 21:25:49 2020 +0100

    Merge branch 'master' into tape_redirect

commit e4b0ec9c85861bde2ce52e0828d3bf895a681e17
Author: FeralChild64 <you@example.com>
Date:   Sat Jan 25 22:25:20 2020 +0100

    initial attempt to move tape code to Mega65 extra ROM
This commit is contained in:
FeralChild64 committed 2020-01-28 17:35:42 +01:00
1 parent 796b62f166
commit d489e7bf41
36 files changed
+275 -44

No files matched your search

@@ -9,10 +9,12 @@
#if SEGMENT_KERNAL_0
// Labels for jumps
.label VK1__RAMTAS = $4000
// Label definitions
.label VK1__RAMTAS = $4000 + 2 * 0
.label VK1__load_tape_normal = $4000 + 2 * 1
.label VK1__load_tape_turbo = $4000 + 2 * 2
.label VK1__load_tape_auto = $4000 + 2 * 3
#else
@@ -20,5 +22,23 @@
.word RAMTAS
#if CONFIG_TAPE_NORMAL && !CONFIG_TAPE_AUTODETECT
.word load_tape_normal
#else
.word $0000
#endif
#if CONFIG_TAPE_TURBO && !CONFIG_TAPE_AUTODETECT
.word load_tape_turbo
#else
.word $0000
#endif
#if CONFIG_TAPE_AUTODETECT
.word load_tape_auto
#else
.word $0000
#endif
#endif
+55
View File
@@ -0,0 +1,55 @@
// #LAYOUT# M65 KERNAL_1 #TAKE
// #LAYOUT# * * #IGNORE
//
// Definitions for calling Mega65 segment KERNAL_0 routines from KERNAL_1
//
#import "KERNAL_0_combined.sym"
.label STOP = KERNAL_0.STOP
.label udtim_keyboard = KERNAL_0.udtim_keyboard
.label wait_x_bars = KERNAL_0.wait_x_bars
#if CONFIG_TAPE_NORMAL || CONFIG_TAPE_TURBO
.label screen_on = KERNAL_0.screen_on
.label screen_off = KERNAL_0.screen_off
.label tape_motor_on = KERNAL_0.tape_motor_on
.label tape_motor_off = KERNAL_0.tape_motor_off
.label lvs_display_loading_verifying = KERNAL_0.proxy_K1_lvs_display_loading_verifying
.label lvs_display_done = KERNAL_0.proxy_K1_lvs_display_done
.label lvs_return_last_address = KERNAL_0.proxy_K1_lvs_return_last_address
.label lvs_device_not_found_error = KERNAL_0.proxy_K1_lvs_device_not_found_error
.label lvs_load_verify_error = KERNAL_0.proxy_K1_lvs_load_verify_error
.label lvs_check_EAL = KERNAL_0.lvs_check_EAL
.label lvs_STAL_to_MEMUSS = KERNAL_0.lvs_STAL_to_MEMUSS
.label kernalerror_ROUTINE_TERMINATED = KERNAL_0.proxy_K1_kernalerror_ROUTINE_TERMINATED
.label print_kernal_message = KERNAL_0.proxy_K1_print_kernal_message
.label print_return = KERNAL_0.proxy_K1_print_return
.label __MSG_KERNAL_PRESS_PLAY = KERNAL_0.__MSG_KERNAL_PRESS_PLAY
.label __MSG_KERNAL_FOUND = KERNAL_0.__MSG_KERNAL_FOUND
#endif
#if CONFIG_TAPE_NORMAL
.label tape_normal_byte_store = KERNAL_0.tape_normal_byte_store
#endif
#if CONFIG_TAPE_TURBO
.label tape_turbo_byte_store = KERNAL_0.tape_turbo_byte_store
#endif
+59
View File
@@ -0,0 +1,59 @@
// #LAYOUT# M65 KERNAL_0 #TAKE
// #LAYOUT# * * #IGNORE
//
// Proxies for calling Mega65 segment KERNAL_0 routines from KERNAL_1
//
#if CONFIG_TAPE_NORMAL || CONFIG_TAPE_TURBO
proxy_K1_kernalerror_ROUTINE_TERMINATED:
jsr map_NORMAL
jmp kernalerror_ROUTINE_TERMINATED
proxy_K1_lvs_display_loading_verifying:
jsr map_NORMAL
jsr lvs_display_loading_verifying
jmp map_KERNAL_1
proxy_K1_lvs_display_done:
jsr map_NORMAL
jsr lvs_display_done
jmp map_KERNAL_1
proxy_K1_lvs_return_last_address:
jsr map_NORMAL
jmp lvs_return_last_address
proxy_K1_lvs_device_not_found_error:
jsr map_NORMAL
jmp lvs_device_not_found_error
proxy_K1_lvs_load_verify_error:
jsr map_NORMAL
jmp lvs_load_verify_error
proxy_K1_print_kernal_message:
jsr map_NORMAL
jsr print_kernal_message
jmp map_KERNAL_1
proxy_K1_print_return:
jsr map_NORMAL
jsr print_return
jmp map_KERNAL_1
#endif
@@ -0,0 +1,39 @@
// #LAYOUT# M65 KERNAL_0 #TAKE
// #LAYOUT# * * #IGNORE
//
// ROM routine call redirect for tape loading
//
#if CONFIG_TAPE_NORMAL && !CONFIG_TAPE_AUTODETECT
load_tape_normal:
jsr map_KERNAL_1
jsr_ind VK1__load_tape_normal
jmp map_NORMAL
#endif
#if CONFIG_TAPE_TURBO && !CONFIG_TAPE_AUTODETECT
load_tape_turbo:
jsr map_KERNAL_1
jsr_ind VK1__load_tape_turbo
jmp map_NORMAL
#endif
#if CONFIG_TAPE_AUTODETECT
load_tape_auto:
jsr map_KERNAL_1
jsr_ind VK1__load_tape_auto
jmp map_NORMAL
#endif