diff --git a/client/carts/kipperkart.s b/client/carts/kipperkart.s index f60e366..e04468d 100644 --- a/client/carts/kipperkart.s +++ b/client/carts/kipperkart.s @@ -122,6 +122,8 @@ jmp ip65_process ;KPR_PERIODIC_PROCESSING_VECTOR : routine to be period cold_init: + jsr init_tod + ;first let the kernal do a normal startup sei jsr $fda3 ;initialize CIA I/O @@ -130,7 +132,6 @@ cold_init: jsr $ff5B ;init. VIC cli ;KERNAL init. finished - jsr init_tod warm_init: ;set some funky colours @@ -207,6 +208,11 @@ main_menu: @get_key: jsr get_key_ip65 + + pha + jsr print_hex + pla + cmp #KEYCODE_F1 bne @not_f1 jmp @tftp_boot @@ -246,7 +252,7 @@ main_menu: cmp #KEYCODE_F7 beq @change_config - + jmp @get_key @exit_to_prog: @@ -500,7 +506,7 @@ get_tftp_directory_listing: ldax #directory_buffer - + ldy #1 ;filenames will be ASCII jsr select_option_from_menu bcc @tftp_filename_set rts @@ -573,7 +579,7 @@ disk_boot: ldax #directory_buffer - + ldy #0 ;filenames will NOT be ASCII jsr select_option_from_menu bcc @disk_filename_set jmp main_menu diff --git a/client/carts/netboot.s b/client/carts/netboot.s index 2f82438..bb2d775 100644 --- a/client/carts/netboot.s +++ b/client/carts/netboot.s @@ -216,6 +216,7 @@ get_tftp_directory_listing: @loop_till_filename_entered: ldax #directory_buffer + ldy #1 ;filenames will be ASCII jsr select_option_from_menu bcs @loop_till_filename_entered @tftp_filename_set: diff --git a/client/inc/menu.i b/client/inc/menu.i index 86340f2..4142036 100644 --- a/client/inc/menu.i +++ b/client/inc/menu.i @@ -15,16 +15,19 @@ jump_to_prefix: .res 1 last_page_flag: .res 1 get_current_byte: .res 4 - + +convert_to_native: .res 1 + .code ;on entry, AX should point to the list of null terminated option strings to be selected from +;Y should be 1 if menu items are in ASCII, 0 if they are in native char format ;on exit, AX points to the selected string ;carry is set of QUIT was selected, clear otherwise select_option_from_menu: - + sty convert_to_native stax options_table_pointer stax get_current_byte+1 ;set the 'LDA' and RTS' opcodes for the 'get current byte' subroutine, which is self-modified-code, hence must be located in RAM not ROM @@ -138,8 +141,14 @@ select_option_from_menu: lda get_current_byte+1 ldx get_current_byte+2 - + ldy convert_to_native + beq :+ jsr print_ascii_as_native + jmp @printed +: + jsr print +@printed: + jsr print_cr jsr @skip_past_next_null_byte inc current_option diff --git a/client/inc/version.i b/client/inc/version.i index 17181db..15e09c0 100644 --- a/client/inc/version.i +++ b/client/inc/version.i @@ -1 +1 @@ -.byte "0.9.35" +.byte "0.9.37" diff --git a/dist/version_number.txt b/dist/version_number.txt index 1485a00..a4c112a 100644 --- a/dist/version_number.txt +++ b/dist/version_number.txt @@ -1 +1 @@ -0.9.35 \ No newline at end of file +0.9.37 \ No newline at end of file