{"schema":1,"platform":"c64","game":"squirm","title":"Squirm","build":"Mastertronic's original cassette of 1984 (1C 0003), a TAP of version 1 from the Ultimate Tape Archive on the Internet Archive, uta_Squirm_1984_Mastertronic_9165, MD5 3c85ddc4f4c605755f15d552e3e53457; loaded with the KERNAL's own tape routines (orientation.md)","symbols_sha256":"af9371a8339ae93f8cc2a9d71ce045005cce8ece5a90a02873420197a1e06fbf","snapshot":{"file":"work/entry.vsf","sha256":"276639d99cd642d4060bad6abecac54af705098f3b5fb0156ccbcc80ae86f43f"},"index":[{"a":87,"n":"player_dir","k":"variable","len":1,"c":true},{"a":88,"n":"player_try_dir","k":"table","len":64,"c":true},{"a":162,"n":"jiffy_lo","k":"table","len":35,"c":true},{"a":197,"n":"last_key","k":"table","len":54,"c":true},{"a":251,"n":"player_pos","k":"variable","len":1,"c":true},{"a":252,"n":"player_pos_hi","k":"variable","len":1,"c":true},{"a":253,"n":"old_pos","k":"variable","len":1,"c":true},{"a":254,"n":"old_pos_hi","k":"variable","len":2,"c":true},{"a":788,"n":"irq_vector","k":"variable","len":1,"c":true},{"a":789,"n":"irq_vector_hi","k":"table","len":64,"c":true},{"a":2049,"n":"basic_stub","k":"table","len":13,"c":true},{"a":2062,"n":"leftover_assembler_basic","k":"table","len":1010,"c":true},{"a":3072,"n":"leftover_assembler_basic_2","k":"table","len":928,"c":true},{"a":4000,"n":"status_top_template","k":"table","len":4,"c":true},{"a":4004,"n":"status_hi_digits","k":"table","len":76,"c":true},{"a":4080,"n":"stray_tk_logo","k":"variable","len":1,"c":true},{"a":4081,"n":"status_bottom_template","k":"table","len":15,"c":true},{"a":4096,"n":"status_bottom_row24","k":"table","len":66,"c":true},{"a":4162,"n":"hiscore_screen","k":"table","len":174,"c":true},{"a":4336,"n":"hiscore_row1","k":"table","len":80,"c":true},{"a":4416,"n":"hiscore_row2","k":"variable","len":1,"c":true},{"a":4417,"n":"hiscore_screen_part2","k":"table","len":79,"c":true},{"a":4496,"n":"hiscore_row3","k":"table","len":80,"c":true},{"a":4576,"n":"hiscore_row4","k":"table","len":80,"c":true},{"a":4656,"n":"hiscore_row5","k":"table","len":4,"c":true},{"a":4660,"n":"hiscore_row5_score","k":"table","len":12,"c":true},{"a":4672,"n":"hiscore_screen_part3","k":"table","len":255,"c":true},{"a":4927,"n":"hiscore_screen_part4","k":"table","len":75,"c":true},{"a":5002,"n":"title_screen","k":"table","len":255,"c":true},{"a":5257,"n":"title_screen_part2","k":"table","len":255,"c":true},{"a":5512,"n":"title_screen_part3","k":"table","len":255,"c":true},{"a":5767,"n":"title_screen_part4","k":"table","len":75,"c":true},{"a":5842,"n":"maze1","k":"table","len":255,"c":true},{"a":6097,"n":"maze1_part2","k":"table","len":255,"c":true},{"a":6352,"n":"maze1_part3","k":"table","len":255,"c":true},{"a":6607,"n":"maze1_part4","k":"table","len":75,"c":true},{"a":6682,"n":"maze2","k":"table","len":255,"c":true},{"a":6937,"n":"maze2_part2","k":"table","len":255,"c":true},{"a":7192,"n":"maze2_part3","k":"table","len":255,"c":true},{"a":7447,"n":"maze2_part4","k":"table","len":75,"c":true},{"a":7522,"n":"maze3","k":"table","len":255,"c":true},{"a":7777,"n":"maze3_part2","k":"table","len":255,"c":true},{"a":8032,"n":"maze3_part3","k":"table","len":255,"c":true},{"a":8287,"n":"maze3_part4","k":"table","len":76,"c":true},{"a":8363,"n":"title_colours","k":"table","len":255,"c":true},{"a":8618,"n":"title_colours_part2","k":"table","len":255,"c":true},{"a":8873,"n":"title_colours_part3","k":"table","len":255,"c":true},{"a":9128,"n":"title_colours_part4","k":"table","len":82,"c":true},{"a":9210,"n":"draw_status_lines","k":"routine","len":20,"c":true},{"a":9212,"n":"b_23FC","k":"branch","len":1,"c":false},{"a":9230,"n":"colour_status_lines","k":"routine","len":14,"c":true},{"a":9232,"n":"b_2410","k":"branch","len":1,"c":false},{"a":9244,"n":"show_hiscore_screen","k":"routine","len":37,"c":true},{"a":9246,"n":"b_241E","k":"branch","len":1,"c":false},{"a":9271,"n":"b_2437","k":"branch","len":1,"c":false},{"a":9281,"n":"show_title_via_sbc","k":"routine","len":2,"c":true},{"a":9283,"n":"show_title_screen","k":"routine","len":39,"c":true},{"a":9285,"n":"b_2445","k":"branch","len":1,"c":false},{"a":9310,"n":"b_245E","k":"branch","len":1,"c":false},{"a":9322,"n":"show_maze1","k":"routine","len":39,"c":true},{"a":9324,"n":"b_246C","k":"branch","len":1,"c":false},{"a":9349,"n":"b_2485","k":"branch","len":1,"c":false},{"a":9361,"n":"show_maze2","k":"routine","len":39,"c":true},{"a":9363,"n":"b_2493","k":"branch","len":1,"c":false},{"a":9388,"n":"b_24AC","k":"branch","len":1,"c":false},{"a":9400,"n":"show_maze3","k":"routine","len":39,"c":true},{"a":9402,"n":"b_24BA","k":"branch","len":1,"c":false},{"a":9427,"n":"b_24D3","k":"branch","len":1,"c":false},{"a":9439,"n":"show_title_colours","k":"routine","len":39,"c":true},{"a":9441,"n":"b_24E1","k":"branch","len":1,"c":false},{"a":9466,"n":"b_24FA","k":"branch","len":1,"c":false},{"a":9480,"n":"rotate_spinner","k":"routine","len":58,"c":true},{"a":9482,"n":"b_250A","k":"branch","len":1,"c":false},{"a":9538,"n":"hiscore_colour_bands","k":"routine","len":48,"c":true},{"a":9540,"n":"b_2544","k":"branch","len":1,"c":false},{"a":9586,"n":"leftover_basic_arrays","k":"table","len":214,"c":true},{"a":9800,"n":"worm_a_head","k":"variable","len":1,"c":true},{"a":9801,"n":"worm_a_head_hi","k":"variable","len":1,"c":true},{"a":9802,"n":"worm_a_cell1","k":"variable","len":1,"c":true},{"a":9803,"n":"worm_a_cell1_hi","k":"variable","len":1,"c":true},{"a":9804,"n":"worm_a_cell2","k":"variable","len":1,"c":true},{"a":9805,"n":"worm_a_cell2_hi","k":"variable","len":1,"c":true},{"a":9806,"n":"worm_a_cell3","k":"variable","len":1,"c":true},{"a":9807,"n":"worm_a_cell3_hi","k":"variable","len":1,"c":true},{"a":9808,"n":"worm_a_cell4","k":"variable","len":1,"c":true},{"a":9809,"n":"worm_a_cell4_hi","k":"variable","len":1,"c":true},{"a":9810,"n":"worm_a_cell5","k":"variable","len":1,"c":true},{"a":9811,"n":"worm_a_cell5_hi","k":"variable","len":1,"c":true},{"a":9812,"n":"worm_a_cell6","k":"variable","len":1,"c":true},{"a":9813,"n":"worm_a_cell6_hi","k":"variable","len":1,"c":true},{"a":9814,"n":"worm_a_cell7","k":"variable","len":1,"c":true},{"a":9815,"n":"worm_a_cell7_hi","k":"variable","len":1,"c":true},{"a":9816,"n":"worm_b_head","k":"variable","len":1,"c":true},{"a":9817,"n":"worm_b_head_hi","k":"variable","len":1,"c":true},{"a":9818,"n":"worm_b_cell1","k":"variable","len":1,"c":true},{"a":9819,"n":"worm_b_cell1_hi","k":"variable","len":1,"c":true},{"a":9820,"n":"worm_b_cell2","k":"variable","len":1,"c":true},{"a":9821,"n":"worm_b_cell2_hi","k":"variable","len":1,"c":true},{"a":9822,"n":"worm_b_cell3","k":"variable","len":1,"c":true},{"a":9823,"n":"worm_b_cell3_hi","k":"variable","len":1,"c":true},{"a":9824,"n":"worm_b_cell4","k":"variable","len":1,"c":true},{"a":9825,"n":"worm_b_cell4_hi","k":"variable","len":1,"c":true},{"a":9826,"n":"worm_c_head","k":"variable","len":1,"c":true},{"a":9827,"n":"worm_c_head_hi","k":"variable","len":1,"c":true},{"a":9828,"n":"worm_c_cell1","k":"variable","len":1,"c":true},{"a":9829,"n":"worm_c_cell1_hi","k":"variable","len":1,"c":true},{"a":9830,"n":"worm_c_cell2","k":"variable","len":1,"c":true},{"a":9831,"n":"worm_c_cell2_hi","k":"variable","len":1,"c":true},{"a":9832,"n":"worm_c_cell3","k":"variable","len":1,"c":true},{"a":9833,"n":"worm_c_cell3_hi","k":"variable","len":1,"c":true},{"a":9834,"n":"worm_c_cell4","k":"variable","len":1,"c":true},{"a":9835,"n":"worm_c_cell4_hi","k":"variable","len":1,"c":true},{"a":9836,"n":"worm_d_head","k":"variable","len":1,"c":true},{"a":9837,"n":"worm_d_head_hi","k":"variable","len":1,"c":true},{"a":9838,"n":"worm_d_cell1","k":"variable","len":1,"c":true},{"a":9839,"n":"worm_d_cell1_hi","k":"variable","len":1,"c":true},{"a":9840,"n":"worm_d_cell2","k":"variable","len":1,"c":true},{"a":9841,"n":"worm_d_cell2_hi","k":"variable","len":1,"c":true},{"a":9842,"n":"worm_d_cell3","k":"variable","len":1,"c":true},{"a":9843,"n":"worm_d_cell3_hi","k":"variable","len":1,"c":true},{"a":9844,"n":"worm_d_cell4","k":"variable","len":1,"c":true},{"a":9845,"n":"worm_d_cell4_hi","k":"variable","len":1,"c":true},{"a":9846,"n":"worm_e_head","k":"variable","len":1,"c":true},{"a":9847,"n":"worm_e_head_hi","k":"variable","len":1,"c":true},{"a":9848,"n":"worm_e_cell1","k":"variable","len":1,"c":true},{"a":9849,"n":"worm_e_cell1_hi","k":"variable","len":1,"c":true},{"a":9850,"n":"worm_e_cell2","k":"variable","len":1,"c":true},{"a":9851,"n":"worm_e_cell2_hi","k":"variable","len":1,"c":true},{"a":9852,"n":"worm_e_cell3","k":"variable","len":1,"c":true},{"a":9853,"n":"worm_e_cell3_hi","k":"variable","len":1,"c":true},{"a":9854,"n":"worm_e_cell4","k":"variable","len":1,"c":true},{"a":9855,"n":"worm_e_cell4_hi","k":"variable","len":1,"c":true},{"a":9856,"n":"worm_direction","k":"variable","len":1,"c":true},{"a":9857,"n":"worm_tries","k":"variable","len":1,"c":true},{"a":9858,"n":"maze_number","k":"variable","len":1,"c":true},{"a":9859,"n":"irq_count","k":"variable","len":1,"c":true},{"a":9860,"n":"treasure_value","k":"variable","len":1,"c":true},{"a":9861,"n":"lives","k":"variable","len":1,"c":true},{"a":9862,"n":"worm_probe","k":"variable","len":1,"c":true},{"a":9863,"n":"worm_probe_hi","k":"variable","len":1,"c":true},{"a":9864,"n":"level_stage","k":"variable","len":1,"c":true},{"a":9865,"n":"step_delay","k":"variable","len":1,"c":true},{"a":9866,"n":"treasure_pos","k":"variable","len":1,"c":true},{"a":9867,"n":"treasure_pos_hi","k":"variable","len":2,"c":true},{"a":9869,"n":"treasure_timer","k":"variable","len":1,"c":true},{"a":9870,"n":"treasure_char","k":"variable","len":1,"c":true},{"a":9871,"n":"treasure_note","k":"variable","len":1,"c":true},{"a":9872,"n":"egg_count","k":"variable","len":1,"c":true},{"a":9873,"n":"treasure_score_char","k":"variable","len":1,"c":true},{"a":9874,"n":"bonus_note","k":"variable","len":1,"c":true},{"a":9875,"n":"a_2693","k":"table","len":25,"c":true},{"a":9900,"n":"str_press_fire","k":"table","len":20,"c":true},{"a":9920,"n":"str_get_ready","k":"table","len":10,"c":true},{"a":9930,"n":"str_level","k":"table","len":10,"c":true},{"a":9940,"n":"str_bonus_run","k":"table","len":10,"c":true},{"a":9950,"n":"leftover_basic_arrays_2","k":"table","len":290,"c":true},{"a":10240,"n":"charset","k":"table","len":216,"c":true},{"a":10456,"n":"maze_wall_chars","k":"table","len":88,"c":true},{"a":10544,"n":"logo_chars","k":"table","len":80,"c":true},{"a":10624,"n":"digit_chars","k":"table","len":80,"c":true},{"a":10704,"n":"logo_chars_2","k":"table","len":48,"c":true},{"a":10752,"n":"arrow_frame_a","k":"table","len":8,"c":true},{"a":10760,"n":"arrow_frame_b","k":"table","len":8,"c":true},{"a":10768,"n":"arrow_frame_c","k":"table","len":8,"c":true},{"a":10776,"n":"worm_head_char","k":"table","len":8,"c":true},{"a":10784,"n":"worm_body_char","k":"table","len":8,"c":true},{"a":10792,"n":"worm_body_char_2","k":"table","len":8,"c":true},{"a":10800,"n":"egg_char","k":"table","len":8,"c":true},{"a":10808,"n":"treasure_a_frame1","k":"table","len":8,"c":true},{"a":10816,"n":"treasure_a_frame2","k":"table","len":8,"c":true},{"a":10824,"n":"treasure_b_frame1","k":"table","len":8,"c":true},{"a":10832,"n":"treasure_b_frame2","k":"table","len":8,"c":true},{"a":10840,"n":"value_100_char","k":"table","len":8,"c":true},{"a":10848,"n":"value_10_char","k":"table","len":8,"c":true},{"a":10856,"n":"value_0_char","k":"table","len":8,"c":true},{"a":10864,"n":"spinner_frame1","k":"table","len":8,"c":true},{"a":10872,"n":"spinner_frame2","k":"table","len":8,"c":true},{"a":10880,"n":"spinner_frame3","k":"table","len":8,"c":true},{"a":10888,"n":"player_char","k":"table","len":8,"c":true},{"a":10896,"n":"spinner_frame5","k":"table","len":8,"c":true},{"a":10904,"n":"spinner_frame6","k":"table","len":8,"c":true},{"a":10912,"n":"spinner_frame7","k":"table","len":8,"c":true},{"a":10920,"n":"spinner_frame8","k":"table","len":8,"c":true},{"a":10928,"n":"unused_chars","k":"table","len":32,"c":true},{"a":10960,"n":"tk_logo_char","k":"table","len":8,"c":true},{"a":10968,"n":"box_char","k":"table","len":8,"c":true},{"a":10976,"n":"unused_chars_2","k":"table","len":16,"c":true},{"a":10992,"n":"assembler_opcodes","k":"table","len":272,"c":true},{"a":11264,"n":"assembler_opcode_tail","k":"table","len":8,"c":true},{"a":11272,"n":"reversed_letters","k":"table","len":208,"c":true},{"a":11480,"n":"assembler_opcodes_2","k":"table","len":40,"c":true},{"a":11520,"n":"reversed_space","k":"table","len":8,"c":true},{"a":11528,"n":"assembler_opcodes_3","k":"table","len":120,"c":true},{"a":11648,"n":"reversed_digits","k":"table","len":80,"c":true},{"a":11728,"n":"charset_noise","k":"table","len":553,"c":true},{"a":12281,"n":"try_cell","k":"routine","len":27,"c":true},{"a":12305,"n":"b_3011","k":"branch","len":1,"c":false},{"a":12308,"n":"step_player","k":"routine","len":20,"c":true},{"a":12325,"n":"b_3025","k":"branch","len":1,"c":false},{"a":12328,"n":"move_down","k":"routine","len":20,"c":true},{"a":12348,"n":"move_right","k":"routine","len":18,"c":true},{"a":12363,"n":"b_304B","k":"branch","len":1,"c":false},{"a":12366,"n":"move_left","k":"routine","len":18,"c":true},{"a":12381,"n":"b_305D","k":"branch","len":1,"c":false},{"a":12384,"n":"stand_still","k":"routine","len":14,"c":true},{"a":12395,"n":"b_306B","k":"branch","len":1,"c":false},{"a":12398,"n":"move_player","k":"routine","len":29,"c":true},{"a":12427,"n":"keep_old_way","k":"routine","len":16,"c":true},{"a":12443,"n":"blocked_stop","k":"routine","len":5,"c":true},{"a":12450,"n":"fade_beep","k":"routine","len":22,"c":true},{"a":12452,"n":"b_30A4","k":"branch","len":1,"c":false},{"a":12462,"n":"b_30AE","k":"branch","len":1,"c":false},{"a":12472,"n":"save_hiscores","k":"routine","len":38,"c":true},{"a":12474,"n":"b_30BA","k":"branch","len":1,"c":false},{"a":12510,"n":"enter_name","k":"routine","len":2,"c":true},{"a":12512,"n":"compare_score","k":"routine","len":21,"c":true},{"a":12527,"n":"b_30EF","k":"branch","len":1,"c":false},{"a":12532,"n":"r_30F4","k":"branch","len":1,"c":false},{"a":12533,"n":"enter_new_hi","k":"routine","len":30,"c":true},{"a":12535,"n":"b_30F7","k":"branch","len":1,"c":false},{"a":12563,"n":"pick_letter","k":"routine","len":35,"c":true},{"a":12576,"n":"b_3120","k":"branch","len":1,"c":false},{"a":12598,"n":"letter_right","k":"routine","len":18,"c":true},{"a":12616,"n":"letter_left","k":"routine","len":18,"c":true},{"a":12634,"n":"take_letter","k":"routine","len":31,"c":true},{"a":12665,"n":"name_taken","k":"routine","len":10,"c":true},{"a":12675,"n":"climb_to_row4","k":"routine","len":21,"c":true},{"a":12688,"n":"b_3190","k":"branch","len":1,"c":false},{"a":12693,"n":"b_3195","k":"branch","len":1,"c":false},{"a":12696,"n":"swap_rows_4_5","k":"routine","len":31,"c":true},{"a":12698,"n":"b_319A","k":"branch","len":1,"c":false},{"a":12727,"n":"climb_to_row3","k":"routine","len":52,"c":true},{"a":12740,"n":"b_31C4","k":"branch","len":1,"c":false},{"a":12745,"n":"b_31C9","k":"branch","len":1,"c":false},{"a":12748,"n":"b_31CC","k":"branch","len":1,"c":false},{"a":12750,"n":"b_31CE","k":"branch","len":1,"c":false},{"a":12779,"n":"climb_to_row2","k":"routine","len":52,"c":true},{"a":12792,"n":"b_31F8","k":"branch","len":1,"c":false},{"a":12797,"n":"b_31FD","k":"branch","len":1,"c":false},{"a":12800,"n":"b_3200","k":"branch","len":1,"c":false},{"a":12802,"n":"b_3202","k":"branch","len":1,"c":false},{"a":12831,"n":"climb_to_row1","k":"routine","len":71,"c":true},{"a":12844,"n":"b_322C","k":"branch","len":1,"c":false},{"a":12849,"n":"b_3231","k":"branch","len":1,"c":false},{"a":12852,"n":"b_3234","k":"branch","len":1,"c":false},{"a":12854,"n":"b_3236","k":"branch","len":1,"c":false},{"a":12875,"n":"b_324B","k":"branch","len":1,"c":false},{"a":12902,"n":"game_over_screen","k":"routine","len":58,"c":true},{"a":12954,"n":"b_329A","k":"branch","len":1,"c":false},{"a":12960,"n":"show_press_fire","k":"routine","len":37,"c":true},{"a":12980,"n":"b_32B4","k":"branch","len":1,"c":false},{"a":12997,"n":"wait_fire","k":"routine","len":11,"c":true},{"a":13007,"n":"r_32CF","k":"branch","len":1,"c":false},{"a":13010,"n":"worm_cell_check","k":"routine","len":3,"c":true},{"a":13013,"n":"old_cell_check","k":"routine","len":26,"c":true},{"a":13036,"n":"b_32EC","k":"branch","len":1,"c":false},{"a":13039,"n":"try_worm_step","k":"routine","len":78,"c":true},{"a":13056,"n":"b_3300","k":"branch","len":1,"c":false},{"a":13059,"n":"b_3303","k":"branch","len":1,"c":false},{"a":13076,"n":"b_3314","k":"branch","len":1,"c":false},{"a":13079,"n":"b_3317","k":"branch","len":1,"c":false},{"a":13097,"n":"b_3329","k":"branch","len":1,"c":false},{"a":13100,"n":"b_332C","k":"branch","len":1,"c":false},{"a":13114,"n":"b_333A","k":"branch","len":1,"c":false},{"a":13117,"n":"next_worm_direction","k":"routine","len":16,"c":true},{"a":13132,"n":"r_334C","k":"branch","len":1,"c":false},{"a":13133,"n":"step_worm_a","k":"routine","len":34,"c":true},{"a":13156,"n":"b_3364","k":"branch","len":1,"c":false},{"a":13167,"n":"worm_a_try","k":"routine","len":38,"c":true},{"a":13205,"n":"worm_a_free","k":"routine","len":15,"c":true},{"a":13220,"n":"worm_a_boxed_in","k":"routine","len":10,"c":true},{"a":13230,"n":"draw_worm_a","k":"routine","len":36,"c":true},{"a":13232,"n":"b_33B0","k":"branch","len":1,"c":false},{"a":13266,"n":"step_worm_b","k":"routine","len":133,"c":true},{"a":13289,"n":"b_33E9","k":"branch","len":1,"c":false},{"a":13300,"n":"j_33F4","k":"branch","len":1,"c":false},{"a":13338,"n":"b_341A","k":"branch","len":1,"c":false},{"a":13353,"n":"b_3429","k":"branch","len":1,"c":false},{"a":13363,"n":"j_3433","k":"branch","len":1,"c":false},{"a":13365,"n":"b_3435","k":"branch","len":1,"c":false},{"a":13399,"n":"step_worm_c","k":"routine","len":133,"c":true},{"a":13422,"n":"b_346E","k":"branch","len":1,"c":false},{"a":13433,"n":"j_3479","k":"branch","len":1,"c":false},{"a":13471,"n":"b_349F","k":"branch","len":1,"c":false},{"a":13486,"n":"b_34AE","k":"branch","len":1,"c":false},{"a":13496,"n":"j_34B8","k":"branch","len":1,"c":false},{"a":13498,"n":"b_34BA","k":"branch","len":1,"c":false},{"a":13532,"n":"step_worm_d","k":"routine","len":133,"c":true},{"a":13555,"n":"b_34F3","k":"branch","len":1,"c":false},{"a":13566,"n":"j_34FE","k":"branch","len":1,"c":false},{"a":13604,"n":"b_3524","k":"branch","len":1,"c":false},{"a":13619,"n":"b_3533","k":"branch","len":1,"c":false},{"a":13629,"n":"j_353D","k":"branch","len":1,"c":false},{"a":13631,"n":"b_353F","k":"branch","len":1,"c":false},{"a":13665,"n":"step_worm_e","k":"routine","len":134,"c":true},{"a":13688,"n":"b_3578","k":"branch","len":1,"c":false},{"a":13699,"n":"j_3583","k":"branch","len":1,"c":false},{"a":13737,"n":"b_35A9","k":"branch","len":1,"c":false},{"a":13752,"n":"b_35B8","k":"branch","len":1,"c":false},{"a":13762,"n":"j_35C2","k":"branch","len":1,"c":false},{"a":13764,"n":"b_35C4","k":"branch","len":1,"c":false},{"a":13800,"n":"colour_maze","k":"routine","len":19,"c":true},{"a":13804,"n":"b_35EC","k":"branch","len":1,"c":false},{"a":13819,"n":"colour_open_cell","k":"routine","len":4,"c":true},{"a":13823,"n":"colour_step","k":"routine","len":12,"c":true},{"a":13830,"n":"b_3606","k":"branch","len":1,"c":false},{"a":13835,"n":"colour_maze_next","k":"routine","len":62,"c":true},{"a":13850,"n":"b_361A","k":"branch","len":1,"c":false},{"a":13854,"n":"j_361E","k":"branch","len":1,"c":false},{"a":13861,"n":"b_3625","k":"branch","len":1,"c":false},{"a":13866,"n":"b_362A","k":"branch","len":1,"c":false},{"a":13881,"n":"b_3639","k":"branch","len":1,"c":false},{"a":13885,"n":"j_363D","k":"branch","len":1,"c":false},{"a":13892,"n":"b_3644","k":"branch","len":1,"c":false},{"a":13897,"n":"colour_maze_last","k":"routine","len":32,"c":true},{"a":13912,"n":"b_3658","k":"branch","len":1,"c":false},{"a":13916,"n":"j_365C","k":"branch","len":1,"c":false},{"a":13923,"n":"b_3663","k":"branch","len":1,"c":false},{"a":13929,"n":"reset_worms","k":"routine","len":187,"c":true},{"a":14116,"n":"add_score","k":"routine","len":23,"c":true},{"a":14134,"n":"b_3736","k":"branch","len":1,"c":false},{"a":14139,"n":"collect_treasure","k":"routine","len":48,"c":true},{"a":14162,"n":"b_3752","k":"branch","len":1,"c":false},{"a":14187,"n":"treasure_100","k":"routine","len":21,"c":true},{"a":14208,"n":"bonus_run","k":"routine","len":15,"c":true},{"a":14223,"n":"show_bonus_run","k":"routine","len":56,"c":true},{"a":14242,"n":"b_37A2","k":"branch","len":1,"c":false},{"a":14255,"n":"b_37AF","k":"branch","len":1,"c":false},{"a":14279,"n":"bonus_get_ready","k":"routine","len":42,"c":true},{"a":14294,"n":"b_37D6","k":"branch","len":1,"c":false},{"a":14300,"n":"b_37DC","k":"branch","len":1,"c":false},{"a":14321,"n":"bonus_loop","k":"routine","len":24,"c":true},{"a":14345,"n":"bonus_ate_head","k":"routine","len":22,"c":true},{"a":14367,"n":"bonus_ate_egg","k":"routine","len":14,"c":true},{"a":14381,"n":"bonus_next_note","k":"routine","len":31,"c":true},{"a":14406,"n":"b_3846","k":"branch","len":1,"c":false},{"a":14412,"n":"bonus_wait","k":"routine","len":22,"c":true},{"a":14422,"n":"b_3856","k":"branch","len":1,"c":false},{"a":14434,"n":"end_bonus_run","k":"routine","len":23,"c":true},{"a":14457,"n":"level_complete","k":"routine","len":44,"c":true},{"a":14491,"n":"b_389B","k":"branch","len":1,"c":false},{"a":14501,"n":"show_get_ready","k":"routine","len":13,"c":true},{"a":14514,"n":"level_jingle","k":"routine","len":30,"c":true},{"a":14530,"n":"b_38C2","k":"branch","len":1,"c":false},{"a":14544,"n":"show_level","k":"routine","len":100,"c":true},{"a":14564,"n":"b_38E4","k":"branch","len":1,"c":false},{"a":14577,"n":"b_38F1","k":"branch","len":1,"c":false},{"a":14621,"n":"b_391D","k":"branch","len":1,"c":false},{"a":14631,"n":"b_3927","k":"branch","len":1,"c":false},{"a":14641,"n":"b_3931","k":"branch","len":1,"c":false},{"a":14644,"n":"start_level","k":"routine","len":45,"c":true},{"a":14689,"n":"move_treasure","k":"routine","len":126,"c":true},{"a":14710,"n":"j_3976","k":"branch","len":1,"c":false},{"a":14748,"n":"b_399C","k":"branch","len":1,"c":false},{"a":14763,"n":"b_39AB","k":"branch","len":1,"c":false},{"a":14773,"n":"j_39B5","k":"branch","len":1,"c":false},{"a":14805,"n":"b_39D5","k":"branch","len":1,"c":false},{"a":14815,"n":"step_treasure","k":"routine","len":54,"c":true},{"a":14830,"n":"b_39EE","k":"branch","len":1,"c":false},{"a":14840,"n":"b_39F8","k":"branch","len":1,"c":false},{"a":14869,"n":"treasure_timeout","k":"routine","len":49,"c":true},{"a":14917,"n":"r_3A45","k":"branch","len":1,"c":false},{"a":14918,"n":"move_creatures","k":"routine","len":44,"c":true},{"a":14929,"n":"b_3A51","k":"branch","len":1,"c":false},{"a":14940,"n":"b_3A5C","k":"branch","len":1,"c":false},{"a":14951,"n":"b_3A67","k":"branch","len":1,"c":false},{"a":14962,"n":"next_cycle","k":"routine","len":11,"c":true},{"a":14973,"n":"lose_life","k":"routine","len":18,"c":true},{"a":14991,"n":"fall_row","k":"routine","len":125,"c":true},{"a":15006,"n":"b_3A9E","k":"branch","len":1,"c":false},{"a":15025,"n":"b_3AB1","k":"branch","len":1,"c":false},{"a":15064,"n":"b_3AD8","k":"branch","len":1,"c":false},{"a":15074,"n":"b_3AE2","k":"branch","len":1,"c":false},{"a":15107,"n":"b_3B03","k":"branch","len":1,"c":false},{"a":15116,"n":"game_over","k":"routine","len":17,"c":true},{"a":15133,"n":"start","k":"routine","len":8,"c":true},{"a":15141,"n":"new_game","k":"routine","len":209,"c":true},{"a":15284,"n":"b_3BB4","k":"branch","len":1,"c":false},{"a":15300,"n":"b_3BC4","k":"branch","len":1,"c":false},{"a":15311,"n":"b_3BCF","k":"branch","len":1,"c":false},{"a":15350,"n":"main_loop","k":"routine","len":38,"c":true},{"a":15388,"n":"hit_treasure","k":"routine","len":16,"c":true},{"a":15404,"n":"hit_worm","k":"routine","len":24,"c":true},{"a":15412,"n":"b_3C34","k":"branch","len":1,"c":false},{"a":15425,"n":"b_3C41","k":"branch","len":1,"c":false},{"a":15428,"n":"draw_player","k":"routine","len":47,"c":true},{"a":15442,"n":"b_3C52","k":"branch","len":1,"c":false},{"a":15451,"n":"b_3C5B","k":"branch","len":1,"c":false},{"a":15472,"n":"b_3C70","k":"branch","len":1,"c":false},{"a":15475,"n":"pause","k":"routine","len":26,"c":true},{"a":15484,"n":"b_3C7C","k":"branch","len":1,"c":false},{"a":15488,"n":"b_3C80","k":"branch","len":1,"c":false},{"a":15501,"n":"wall_colour","k":"routine","len":6,"c":true},{"a":15507,"n":"cell_is_free","k":"routine","len":32,"c":true},{"a":15536,"n":"b_3CB0","k":"branch","len":1,"c":false},{"a":15539,"n":"irq_handler","k":"routine","len":17,"c":true},{"a":15556,"n":"rotate_arrows","k":"routine","len":71,"c":true},{"a":15624,"n":"b_3D08","k":"branch","len":1,"c":false},{"a":15627,"n":"install_irq","k":"routine","len":28,"c":true},{"a":15655,"n":"bonus_irq","k":"routine","len":36,"c":true},{"a":15688,"n":"b_3D48","k":"branch","len":1,"c":false},{"a":15691,"n":"bonus_tune_reset","k":"routine","len":17,"c":true},{"a":15695,"n":"b_3D4F","k":"branch","len":1,"c":false},{"a":15708,"n":"bonus_tune_step","k":"routine","len":20,"c":true},{"a":15724,"n":"b_3D6C","k":"branch","len":1,"c":false},{"a":15734,"n":"level_pause","k":"routine","len":17,"c":true},{"a":15746,"n":"b_3D82","k":"branch","len":1,"c":false},{"a":15800,"n":"bonus_tune","k":"table","len":200,"c":true},{"a":16000,"n":"title_tune_voice1","k":"table","len":100,"c":true},{"a":16100,"n":"title_tune_voice2","k":"table","len":100,"c":true}],"records":[{"a":0,"t":"gap","n":87},{"a":87,"l":"player_dir","c":"The player's current direction, as a value of $DC01: $FE up, $FD down, $FB left, $F7 right, or $EF when the player stands still. move_player ($306E) keeps it while the stick says nothing new, and the main loop leaves the old cell alone when it is $EF ($3C46).","t":"byte","b":[0],"x":[12390,12409,12424,12427,12440,12445,14394,14668,15113,15239,15430]},{"a":88,"l":"player_try_dir","c":"The direction step_player ($3014) is asked to try, as a value of $DC01: first what the stick reads, then, if that way is blocked, player_dir again.","t":"byte","b":[0],"x":[12308,12413,12422,12429,12438]},{"a":89,"t":"gap","n":73},{"a":162,"l":"jiffy_lo","c":"The low byte of the KERNAL's jiffy clock, which its interrupt handler adds 1 to sixty times a second. Every wait in the game stores a value here and loops while the byte is $80 or more, so storing $100 - n waits n sixtieths of a second.","t":"byte","b":[4],"x":[12460,12462,12574,12576,12952,12954,12978,12980,14240,14242,14253,14255,14266,14292,14294,14392,14422,14528,14530,14562,14564,14575,14577,15004,15006,15072,15074,15105,15107,15298,15300,15449,15451,15482,15484,15693,15695,15744,15746]},{"a":163,"t":"gap","n":34},{"a":197,"l":"last_key","c":"The KERNAL's number for the key its keyboard scan last saw, 64 for none. The main loop reads it for F1, number 4, the pause ($3C67).","t":"byte","b":[64],"x":[15463]},{"a":198,"t":"gap","n":53},{"a":251,"l":"player_pos","c":"The player's screen address, low byte first: the cell the player is drawn on. step_player moves it, and try_cell ($2FF9) puts it back from old_pos when the way is blocked. Also the falling player's address in lose_life ($3A7D).","t":"byte","b":[0],"x":[12284,12296,12315,12319,12333,12337,12353,12355,12371,12373,12398,14326,14410,14672,14987,14994,15000,15012,15015,15019,15025,15046,15231,15358,15444]},{"a":252,"l":"player_pos_hi","c":"High byte of the player's screen address (low byte at $FB).","t":"byte","b":[0],"x":[12300,12323,12341,12343,12361,12379,12402,14676,15023,15052,15235]},{"a":253,"l":"old_pos","c":"A pointer: in play, the screen address the player stood on before this step (move_player, $3070); the worm and treasure movers and the score routines borrow it as their own pointer to a screen cell, and lose_life keeps the character under the falling player in its low byte.","t":"byte","b":[0],"x":[12294,12400,13013,13023,13141,13152,13235,13244,13255,13264,13274,13285,13368,13377,13388,13397,13407,13418,13501,13510,13521,13530,13540,13551,13634,13643,13654,13663,13673,13684,13767,13776,13787,13796,14404,14697,14708,14776,14788,14856,14866,14876,14887,14989,14996,15010,15048,15440,15510,15519]},{"a":254,"l":"old_pos_hi","c":"High byte of the old_pos pointer at $FD; enter_name ($3168) also keeps the alphabet position here while a beep plays.","t":"byte","b":[0],"x":[12298,12404,12648,12656,13018,13146,13240,13260,13279,13373,13393,13412,13506,13526,13545,13639,13659,13678,13772,13792,14702,14781,14861,14881,15054,15515]},{"a":255,"t":"gap","n":533},{"a":788,"l":"irq_vector","c":"The KERNAL's RAM vector for the interrupt, low byte first. install_irq ($3D0B) points it at irq_handler ($3CB3), and the bonus run points it at bonus_irq ($3D18) for its fifteen seconds ($37E5).","t":"byte","b":[49],"x":[14312,15630]},{"a":789,"l":"irq_vector_hi","c":"High byte of the interrupt vector at $0314: $3C in play, $3D in the bonus run.","t":"byte","b":[234],"x":[14317,15635]},{"a":790,"t":"gap","n":1259},{"a":2049,"l":"basic_stub","c":"The BASIC program the tape loads: one line, 10 SYS 15133, which starts the game at $3B1D. The line's link at $0801 points to $080C, where two zero bytes end the program. RUN needs nothing else: the rest of the file is reached only through that SYS.","t":"byte","b":[12,8,10,0,158,49,53,49]},{"a":2057,"t":"byte","b":[51,51,0,0,0]},{"a":2062,"l":"leftover_assembler_basic","c":"Not the game's. From here to $0F9F is most of a BASIC program that was in memory when the file was saved: the menu of an assembler titled \"CBM 64 ASSEMBLER\", copyright 1983, Derek Bush and Peter Holmes (its line 25 and lines 35 to 55 print those words). Lines 15 to 340 survive, the first few bytes of them overwritten by this file's own stub: a title page, DIM X$(25), F$(20), K$(20), M$(10) and their numeric arrays, a menu of Enter, List, Run, Other functions and Exit, and the line-by-line entry routine, which reads each line typed with INPUT, breaks it up with SYS 52113 and SYS 51972 into label, opcode and operand, and POKEs the bytes straight into memory (lines 290 to 330), with the errors \"EXTRA SPACES OR MISSING LABEL OR MACRO FLAG INDICATOR\", \"UNRECOGNISED OP-CODE\", \"MISSING OPERAND\" and \"INVALID ADDRESS\". Just before line 15 sits the tail of a line ending \"N 2.03/06-07-83\", perhaps a version number and a date. Nothing in the game reads any of it.","t":"byte","b":[53,49,51,51,0,0,0,34]},{"a":2070,"t":"byte","b":[19,17,17,17,34,59,65,58]},{"a":2078,"t":"byte","b":[133,34,19,34,59,66,58,151]},{"a":2086,"t":"byte","b":[65,44,66,58,130,0,0,0]},{"a":2094,"t":"byte","b":[65,0,142,121,40,0,0,66]},{"a":2102,"t":"byte","b":[0,129,0,0,0,0,78,32]},{"a":2110,"t":"byte","b":[50,46,48,51,47,48,54,45]},{"a":2118,"t":"byte","b":[48,55,45,56,51,0,131,8]},{"a":2126,"t":"byte","b":[15,0,86,67,178,53,51,50]},{"a":2134,"t":"byte","b":[56,48,58,151,49,48,50,48]},{"a":2142,"t":"byte","b":[44,194,40,86,67,41,58,151]},{"a":2150,"t":"byte","b":[86,67,44,49,53,58,151,49]},{"a":2158,"t":"byte","b":[48,50,49,44,194,40,86,67]},{"a":2166,"t":"byte","b":[170,49,41,58,151,86,67,170]},{"a":2174,"t":"byte","b":[49,44,49,53,0,178,8,20]},{"a":2182,"t":"byte","b":[0,151,49,48,50,50,44,194]},{"a":2190,"t":"byte","b":[40,54,52,54,41,58,158,53]},{"a":2198,"t":"byte","b":[50,52,50,49,58,153,34,147]},{"a":2206,"t":"byte","b":[8,34,59,58,158,53,50,50]},{"a":2214,"t":"byte","b":[56,50,58,151,53,50,50,56]},{"a":2222,"t":"byte","b":[51,44,54,0,219,8,25,0]},{"a":2230,"t":"byte","b":[153,34,17,17,17,17,17,17]},{"a":2238,"t":"byte","b":[34,163,49,49,41,34,28,18]},{"a":2246,"t":"byte","b":[142,32,67,66,77,32,54,52]},{"a":2254,"t":"byte","b":[32,65,83,83,69,77,66,76]},{"a":2262,"t":"byte","b":[69,82,32,34,0,235,8,30]},{"a":2270,"t":"byte","b":[0,129,88,178,49,164,50,48]},{"a":2278,"t":"byte","b":[48,58,130,88,0,19,9,35]},{"a":2286,"t":"byte","b":[0,153,34,17,17,17,17,29]},{"a":2294,"t":"byte","b":[150,32,32,32,32,32,32,32]},{"a":2302,"t":"byte","b":[32,32,32,32,32,67,79,80]},{"a":2310,"t":"byte","b":[89,82,73,71,72,84,32,49]},{"a":2318,"t":"byte","b":[57,56,51,34,0,40,9,40]},{"a":2326,"t":"byte","b":[0,153,34,29,150,32,32,32]},{"a":2334,"t":"byte","b":[32,32,32,32,32,213,192,201]},{"a":2342,"t":"byte","b":[34,0,75,9,45,0,153,34]},{"a":2350,"t":"byte","b":[29,150,32,32,32,32,32,32]},{"a":2358,"t":"byte","b":[32,32,221,67,221,28,32,32]},{"a":2366,"t":"byte","b":[32,68,69,82,69,75,32,66]},{"a":2374,"t":"byte","b":[85,83,72,34,0,97,9,50]},{"a":2382,"t":"byte","b":[0,153,34,29,150,32,32,32]},{"a":2390,"t":"byte","b":[32,32,32,32,32,202,192,203]},{"a":2398,"t":"byte","b":[28,34,0,132,9,55,0,153]},{"a":2406,"t":"byte","b":[163,49,57,41,34,38,17,34]},{"a":2414,"t":"byte","b":[58,153,163,49,52,41,34,80]},{"a":2422,"t":"byte","b":[69,84,69,82,32,72,79,76]},{"a":2430,"t":"byte","b":[77,69,83,31,34,0,159,9]},{"a":2438,"t":"byte","b":[60,0,129,88,178,49,164,49]},{"a":2446,"t":"byte","b":[48,48,48,58,130,88,58,151]},{"a":2454,"t":"byte","b":[53,51,50,56,48,44,49,52]},{"a":2462,"t":"byte","b":[0,175,9,65,0,129,88,178]},{"a":2470,"t":"byte","b":[49,164,53,48,48,58,130,88]},{"a":2478,"t":"byte","b":[0,189,9,70,0,156,58,134]},{"a":2486,"t":"byte","b":[88,36,40,50,53,41,0,207]},{"a":2494,"t":"byte","b":[9,75,0,134,70,36,40,50]},{"a":2502,"t":"byte","b":[48,41,44,70,40,50,48,41]},{"a":2510,"t":"byte","b":[0,232,9,80,0,134,75,36]},{"a":2518,"t":"byte","b":[40,50,48,41,44,75,40,50]},{"a":2526,"t":"byte","b":[48,41,44,75,49,40,50,48]},{"a":2534,"t":"byte","b":[41,0,1,10,85,0,134,77]},{"a":2542,"t":"byte","b":[36,40,49,48,41,44,77,40]},{"a":2550,"t":"byte","b":[49,48,41,44,77,49,40,49]},{"a":2558,"t":"byte","b":[48,41,0,54,10,90,0,68]},{"a":2566,"t":"byte","b":[36,178,34,48,49,50,51,52]},{"a":2574,"t":"byte","b":[53,54,55,56,57,65,66,67]},{"a":2582,"t":"byte","b":[68,69,70,34,58,84,53,36]},{"a":2590,"t":"byte","b":[178,34,29,29,29,29,29,34]},{"a":2598,"t":"byte","b":[58,83,56,36,178,34,32,32]},{"a":2606,"t":"byte","b":[32,32,32,32,32,32,34,0]},{"a":2614,"t":"byte","b":[96,10,95,0,153,34,147,17]},{"a":2622,"t":"byte","b":[34,58,151,53,50,50,56,51]},{"a":2630,"t":"byte","b":[44,54,58,158,53,50,50,56]},{"a":2638,"t":"byte","b":[50,58,153,163,49,55,41,34]},{"a":2646,"t":"byte","b":[28,14,162,162,162,162,162,162]},{"a":2654,"t":"byte","b":[34,0,115,10,100,0,153,163]},{"a":2662,"t":"byte","b":[49,55,41,34,18,32,205,69]},{"a":2670,"t":"byte","b":[78,85,32,34,0,140,10,105]},{"a":2678,"t":"byte","b":[0,153,163,49,55,41,34,183]},{"a":2686,"t":"byte","b":[183,183,183,183,183,31,34,58]},{"a":2694,"t":"byte","b":[153,34,17,17,34,0,174,10]},{"a":2702,"t":"byte","b":[110,0,153,163,57,41,59,34]},{"a":2710,"t":"byte","b":[197,78,84,69,82,32,80,82]},{"a":2718,"t":"byte","b":[79,71,82,65,77,46,46,46]},{"a":2726,"t":"byte","b":[46,46,46,46,197,17,34,0]},{"a":2734,"t":"byte","b":[208,10,115,0,153,163,57,41]},{"a":2742,"t":"byte","b":[59,34,204,73,83,84,32,80]},{"a":2750,"t":"byte","b":[82,79,71,82,65,77,46,46]},{"a":2758,"t":"byte","b":[46,46,46,46,46,46,204,17]},{"a":2766,"t":"byte","b":[34,0,242,10,120,0,153,163]},{"a":2774,"t":"byte","b":[57,41,59,34,210,85,78,32]},{"a":2782,"t":"byte","b":[80,82,79,71,82,65,77,46]},{"a":2790,"t":"byte","b":[46,46,46,46,46,46,46,46]},{"a":2798,"t":"byte","b":[210,17,34,0,20,11,125,0]},{"a":2806,"t":"byte","b":[153,163,57,41,59,34,207,84]},{"a":2814,"t":"byte","b":[72,69,82,32,70,85,78,67]},{"a":2822,"t":"byte","b":[84,73,79,78,83,46,46,46]},{"a":2830,"t":"byte","b":[46,46,207,17,34,0,55,11]},{"a":2838,"t":"byte","b":[130,0,153,163,57,41,59,34]},{"a":2846,"t":"byte","b":[69,216,73,84,46,46,46,46]},{"a":2854,"t":"byte","b":[46,46,46,46,46,46,46,46]},{"a":2862,"t":"byte","b":[46,46,46,46,216,17,17,34]},{"a":2870,"t":"byte","b":[0,93,11,135,0,153,163,55]},{"a":2878,"t":"byte","b":[41,59,34,17,162,162,162,162]},{"a":2886,"t":"byte","b":[162,162,162,162,162,162,162,162]},{"a":2894,"t":"byte","b":[162,162,162,162,162,162,162,162]},{"a":2902,"t":"byte","b":[162,162,162,162,162,34,0,131]},{"a":2910,"t":"byte","b":[11,140,0,153,163,55,41,59]},{"a":2918,"t":"byte","b":[34,18,32,212,89,80,69,32]},{"a":2926,"t":"byte","b":[73,78,32,67,72,79,73,67]},{"a":2934,"t":"byte","b":[69,32,82,69,81,85,73,82]},{"a":2942,"t":"byte","b":[69,68,32,34,0,168,11,145]},{"a":2950,"t":"byte","b":[0,153,163,55,41,59,34,183]},{"a":2958,"t":"byte","b":[183,183,183,183,183,183,183,183]},{"a":2966,"t":"byte","b":[183,183,183,183,183,183,183,183]},{"a":2974,"t":"byte","b":[183,183,183,183,183,183,183,183]},{"a":2982,"t":"byte","b":[34,0,202,11,150,0,151,49]},{"a":2990,"t":"byte","b":[57,56,44,48,58,143,32,67]},{"a":2998,"t":"byte","b":[76,69,65,82,32,75,47,66]},{"a":3006,"t":"byte","b":[79,65,82,68,32,66,85,70]},{"a":3014,"t":"byte","b":[70,69,82,0,212,11,160,0]},{"a":3022,"t":"byte","b":[141,49,49,52,53,0,233,11]},{"a":3030,"t":"byte","b":[165,0,139,90,36,178,34,69]},{"a":3038,"t":"byte","b":[34,167,141,50,49,48,58,137]},{"a":3046,"t":"byte","b":[57,53,0,254,11,170,0,139]},{"a":3054,"t":"byte","b":[90,36,178,34,76,34,167,141]},{"a":3062,"t":"byte","b":[51,51,53,58,137,57,53,0]},{"a":3070,"t":"byte","b":[20,12]},{"a":3072,"l":"leftover_assembler_basic_2","c":"The rest of the assembler's BASIC program that the file carries (see $080E): from line 175, whose line number is here (its link is at $0BFE), a step of the menu's choice, through the entry routine of lines 210 to 330, to line 340, whose text runs whole to $0F9F; only its end-of-line zero, at $0FA0, is lost under the game's own data. Never read by the game.","t":"byte","b":[175,0,139,90,36,178,34,82]},{"a":3080,"t":"byte","b":[34,167,141,52,55,48,58,137]},{"a":3088,"t":"byte","b":[49,57,53,0,41,12,180,0]},{"a":3096,"t":"byte","b":[139,90,36,178,34,79,34,167]},{"a":3104,"t":"byte","b":[141,55,54,48,58,137,57,53]},{"a":3112,"t":"byte","b":[0,58,12,185,0,139,90,36]},{"a":3120,"t":"byte","b":[179,177,34,88,34,167,49,54]},{"a":3128,"t":"byte","b":[48,0,115,12,190,0,86,178]},{"a":3136,"t":"byte","b":[53,51,50,56,48,58,151,86]},{"a":3144,"t":"byte","b":[44,194,40,49,48,50,48,41]},{"a":3152,"t":"byte","b":[58,151,86,170,49,44,194,40]},{"a":3160,"t":"byte","b":[49,48,50,49,41,58,151,54]},{"a":3168,"t":"byte","b":[52,54,44,194,40,49,48,50]},{"a":3176,"t":"byte","b":[50,41,58,153,34,147,9,34]},{"a":3184,"t":"byte","b":[58,128,0,128,12,195,0,141]},{"a":3192,"t":"byte","b":[50,48,48,58,137,57,53,0]},{"a":3200,"t":"byte","b":[191,12,200,0,153,34,19,17]},{"a":3208,"t":"byte","b":[17,17,17,17,17,17,17,17]},{"a":3216,"t":"byte","b":[17,17,17,17,17,17,17,17]},{"a":3224,"t":"byte","b":[17,17,17,29,29,29,29,29]},{"a":3232,"t":"byte","b":[29,18,32,80,82,69,83,83]},{"a":3240,"t":"byte","b":[32,65,78,89,32,75,69,89]},{"a":3248,"t":"byte","b":[32,84,79,32,67,79,78,84]},{"a":3256,"t":"byte","b":[73,78,85,69,32,34,0,203]},{"a":3264,"t":"byte","b":[12,205,0,141,49,49,52,53]},{"a":3272,"t":"byte","b":[58,142,0,252,12,210,0,153]},{"a":3280,"t":"byte","b":[34,147,17,142,32,69,78,84]},{"a":3288,"t":"byte","b":[69,82,32,65,83,83,69,77]},{"a":3296,"t":"byte","b":[66,76,89,32,76,65,78,71]},{"a":3304,"t":"byte","b":[85,65,71,69,32,80,82,79]},{"a":3312,"t":"byte","b":[71,82,65,77,32,78,79,87]},{"a":3320,"t":"byte","b":[46,17,34,0,43,13,215,0]},{"a":3328,"t":"byte","b":[153,34,32,83,84,65,82,84]},{"a":3336,"t":"byte","b":[32,65,68,68,82,69,83,83]},{"a":3344,"t":"byte","b":[34,59,58,141,49,49,54,48]},{"a":3352,"t":"byte","b":[58,76,178,67,58,139,73,86]},{"a":3360,"t":"byte","b":[37,176,72,76,179,49,167,50]},{"a":3368,"t":"byte","b":[49,48,0,77,13,220,0,133]},{"a":3376,"t":"byte","b":[88,36,58,158,53,50,49,49]},{"a":3384,"t":"byte","b":[51,44,88,36,44,76,66,36]},{"a":3392,"t":"byte","b":[44,79,67,36,44,65,68,36]},{"a":3400,"t":"byte","b":[44,73,86,37,0,92,13,225]},{"a":3408,"t":"byte","b":[0,139,73,86,37,178,48,167]},{"a":3416,"t":"byte","b":[50,51,53,0,164,13,230,0]},{"a":3424,"t":"byte","b":[153,34,28,32,42,69,88,84]},{"a":3432,"t":"byte","b":[82,65,32,83,80,65,67,69]},{"a":3440,"t":"byte","b":[83,32,79,82,32,77,73,83]},{"a":3448,"t":"byte","b":[83,73,78,71,32,76,65,66]},{"a":3456,"t":"byte","b":[69,76,32,79,82,32,77,65]},{"a":3464,"t":"byte","b":[67,82,79,32,32,70,76,65]},{"a":3472,"t":"byte","b":[71,32,73,78,68,73,67,65]},{"a":3480,"t":"byte","b":[84,79,82,42,31,34,58,137]},{"a":3488,"t":"byte","b":[50,50,48,0,183,13,235,0]},{"a":3496,"t":"byte","b":[139,79,67,36,178,34,69,78]},{"a":3504,"t":"byte","b":[68,34,167,54,57,48,0,200]},{"a":3512,"t":"byte","b":[13,240,0,139,76,66,36,179]},{"a":3520,"t":"byte","b":[177,34,34,167,52,56,48,0]},{"a":3528,"t":"byte","b":[229,13,245,0,139,65,68,36]},{"a":3536,"t":"byte","b":[178,34,34,176,200,40,65,68]},{"a":3544,"t":"byte","b":[36,44,49,41,177,34,65,34]},{"a":3552,"t":"byte","b":[167,50,54,48,0,0,14,250]},{"a":3560,"t":"byte","b":[0,72,73,36,178,65,68,36]},{"a":3568,"t":"byte","b":[58,141,49,49,54,53,58,139]},{"a":3576,"t":"byte","b":[73,86,37,167,50,50,48,0]},{"a":3584,"t":"byte","b":[9,14,255,0,65,68,178,67]},{"a":3592,"t":"byte","b":[0,32,14,4,1,158,53,49]},{"a":3600,"t":"byte","b":[57,55,50,44,79,67,36,44]},{"a":3608,"t":"byte","b":[79,67,37,44,66,67,37,0]},{"a":3616,"t":"byte","b":[80,14,9,1,139,66,67,37]},{"a":3624,"t":"byte","b":[178,50,53,53,167,153,34,28]},{"a":3632,"t":"byte","b":[32,42,85,78,82,69,67,79]},{"a":3640,"t":"byte","b":[71,78,73,83,69,68,32,32]},{"a":3648,"t":"byte","b":[79,80,45,67,79,68,69,42]},{"a":3656,"t":"byte","b":[31,34,58,137,50,50,48,0]},{"a":3664,"t":"byte","b":[95,14,14,1,139,66,67,37]},{"a":3672,"t":"byte","b":[178,48,167,50,56,53,0,136]},{"a":3680,"t":"byte","b":[14,19,1,139,65,68,36,178]},{"a":3688,"t":"byte","b":[34,34,167,153,34,28,32,42]},{"a":3696,"t":"byte","b":[77,73,83,83,73,78,71,32]},{"a":3704,"t":"byte","b":[79,80,69,82,65,78,68,42]},{"a":3712,"t":"byte","b":[31,34,58,137,50,50,48,0]},{"a":3720,"t":"byte","b":[161,14,24,1,139,200,40,65]},{"a":3728,"t":"byte","b":[68,36,44,49,41,32,177,178]},{"a":3736,"t":"byte","b":[34,65,34,167,141,54,55,48]},{"a":3744,"t":"byte","b":[0,175,14,29,1,141,50,57]},{"a":3752,"t":"byte","b":[48,58,137,50,50,48,0,189]},{"a":3760,"t":"byte","b":[14,34,1,139,65,68,179,48]},{"a":3768,"t":"byte","b":[167,51,50,48,0,200,14,39]},{"a":3776,"t":"byte","b":[1,151,76,44,79,67,37,0]},{"a":3784,"t":"byte","b":[230,14,44,1,65,50,37,178]},{"a":3792,"t":"byte","b":[65,68,173,50,53,54,58,65]},{"a":3800,"t":"byte","b":[49,37,178,65,68,171,50,53]},{"a":3808,"t":"byte","b":[54,172,65,50,37,0,253,14]},{"a":3816,"t":"byte","b":[49,1,145,66,67,37,170,49]},{"a":3824,"t":"byte","b":[137,51,51,48,44,51,49,53]},{"a":3832,"t":"byte","b":[44,51,49,48,0,15,15,54]},{"a":3840,"t":"byte","b":[1,151,76,170,50,44,65,50]},{"a":3848,"t":"byte","b":[37,58,137,51,50,53,0,31]},{"a":3856,"t":"byte","b":[15,59,1,139,65,68,179,50]},{"a":3864,"t":"byte","b":[53,54,167,51,50,53,0,61]},{"a":3872,"t":"byte","b":[15,64,1,153,34,28,32,42]},{"a":3880,"t":"byte","b":[73,78,86,65,76,73,68,32]},{"a":3888,"t":"byte","b":[65,68,68,82,69,83,83,42]},{"a":3896,"t":"byte","b":[31,34,58,142,0,74,15,69]},{"a":3904,"t":"byte","b":[1,151,76,170,49,44,65,49]},{"a":3912,"t":"byte","b":[37,0,90,15,74,1,76,178]},{"a":3920,"t":"byte","b":[76,170,66,67,37,170,49,58]},{"a":3928,"t":"byte","b":[142,0,101,15,79,1,153,34]},{"a":3936,"t":"byte","b":[147,14,17,34,0,161,15,84]},{"a":3944,"t":"byte","b":[1,153,34,29,32,32,32,197]},{"a":3952,"t":"byte","b":[78,84,69,82,32,211,84,65]},{"a":3960,"t":"byte","b":[82,84,32,193,68,68,82,69]},{"a":3968,"t":"byte","b":[83,83,34,59,58,141,49,49]},{"a":3976,"t":"byte","b":[54,48,58,76,178,67,58,89]},{"a":3984,"t":"byte","b":[178,48,58,139,73,86,37,176]},{"a":3992,"t":"byte","b":[72,76,179,49,167,51,51,53]},{"a":4000,"l":"status_top_template","c":"The top two screen rows, as screen codes: \"HI 000000    SCORE 000000   LEVEL 00\" in reversed characters ($80 and up) on row 0, and row 1 all reversed spaces ($A0), a solid bar. draw_status_lines ($23FA) puts them on the screen at $0400. The high score lives here: when a new score reaches first place, the name entry ($3249) writes its digits into this template at $0FA4, so the next copy shows it.","t":"byte","b":[160,136,137,160],"x":[9212]},{"a":4004,"l":"status_hi_digits","c":"The high score's digits inside the top-row template ($0FA0), reversed '0' to '9' ($B0-$B9). The name entry writes the first five at $3249 when a score takes first place in the table; the sixth, like the score's, is always 0. Copied to the screen with the rest of the template.","t":"byte","b":[176,176,176,176,176,176,160,160],"x":[12880]},{"a":4012,"t":"byte","b":[160,160,147,131,143,146,133,160]},{"a":4020,"t":"byte","b":[176,176,176,176,176,176,160,160]},{"a":4028,"t":"byte","b":[160,140,133,150,133,140,160,176]},{"a":4036,"t":"byte","b":[176,160,160,160,160,160,160,160]},{"a":4044,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4052,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4060,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4068,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4076,"t":"byte","b":[160,160,160,160]},{"a":4080,"l":"stray_tk_logo","c":"One byte nothing reads: $5A, the \"TK\" logo character, between the two status templates. The top copy stops at $0FEF and the bottom one starts at $0FF1.","t":"byte","b":[90]},{"a":4081,"l":"status_bottom_template","c":"The bottom two screen rows (23 and 24), copied to $0798 by draw_status_lines ($23FA): row 23 a solid bar of reversed spaces, then on row 24 \"LIVES\" with three life markers at columns 8 to 10 (characters $4E-$50, which the interrupt's rotate_spinner at $2508 animates), \"TIMER 000\" at columns 24 to 32 and the \"TK\" logo character, $5A, in the last column. The game erases a life marker on the screen at each death ($3AFA), so a new game's copy of this template brings all three back.","t":"byte","b":[160,160,160,160,160,160,160,160],"x":[9218]},{"a":4089,"t":"byte","b":[160,160,160,160,160,160,160]},{"a":4096,"l":"status_bottom_row24","c":"The rest of the bottom template from $1000: the last 25 cells of row 23's bar, then row 24 from $1019, \"LIVES\" and the three life icons at $1021-$1023, \"TIMER 000\" with the timer's digits at $1037-$1039, and the TK logo at $1040.","t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4104,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4112,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4120,"t":"byte","b":[160,160,160,140,137,150,133,147]},{"a":4128,"t":"byte","b":[160,78,79,80,160,160,160,160]},{"a":4136,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":4144,"t":"byte","b":[160,148,137,141,133,146,160,176]},{"a":4152,"t":"byte","b":[176,176,160,160,160,160,160,160]},{"a":4160,"t":"byte","b":[90]},{"a":4161,"c":"One byte nothing reads: a space between the bottom status template, which ends at $1040, and the high-score screen at $1042.","t":"byte","b":[32]},{"a":4162,"l":"hiscore_screen","c":"The high-score screen, rows 2 to 22 (840 bytes, 21 rows of 40) as screen codes: \"SQUIRM\" on row 3, five entries on rows 6 to 14 (\"1 TK1 000000\" to \"5 TK5 000000\"), a three-cell box on row 16 that shows the name being typed, and the alphabet \"A\" to \"Z\" on row 18. show_hiscore_screen ($241C) copies it to $0450. The table itself is kept here: save_hiscores ($30B8) writes the five rows back into this template after every name entry, so the scores last until the machine is switched off.","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9246]},{"a":4170,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4178,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4186,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4194,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4202,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4210,"t":"byte","b":[32,32,32,32,32,32,32,19]},{"a":4218,"t":"byte","b":[17,21,9,18,13,32,32,32]},{"a":4226,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4234,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4242,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4250,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4258,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4266,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4274,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4282,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4290,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4298,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4306,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4314,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4322,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4330,"t":"byte","b":[32,32,32,32,49,32]},{"a":4336,"l":"hiscore_row1","c":"First entry of the high-score table inside the template ($1042): ten bytes, a three-letter name, a space and six digits, at row 6, column 14 of the screen. save_hiscores ($30B8) writes it from $04FE.","t":"byte","b":[20,11,49,32,48,48,48,48],"x":[12477]},{"a":4344,"t":"byte","b":[48,48,32,32,32,32,32,32]},{"a":4352,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4360,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4368,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4376,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4384,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4392,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4400,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4408,"t":"byte","b":[32,32,32,32,32,32,50,32]},{"a":4416,"l":"hiscore_row2","c":"Second entry of the high-score table inside the template (row 8 of the screen), written from $054E by save_hiscores ($30B8). Its second byte, $1141, is also where show_hiscore_screen's second 255-byte piece starts.","t":"byte","b":[20],"x":[12483]},{"a":4417,"l":"hiscore_screen_part2","c":"Start of the second 255-byte piece of the high-score screen, which show_hiscore_screen ($241C) copies to $054F; it falls on the second letter of the table's second name.","t":"byte","b":[11,50,32,48,48,48,48,48],"x":[9252]},{"a":4425,"t":"byte","b":[48,32,32,32,32,32,32,32]},{"a":4433,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4441,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4449,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4457,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4465,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4473,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4481,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4489,"t":"byte","b":[32,32,32,32,32,51,32]},{"a":4496,"l":"hiscore_row3","c":"Third entry of the high-score table inside the template (row 10 of the screen), written from $059E by save_hiscores ($30B8).","t":"byte","b":[20,11,51,32,48,48,48,48],"x":[12489]},{"a":4504,"t":"byte","b":[48,48,32,32,32,32,32,32]},{"a":4512,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4520,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4528,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4536,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4544,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4552,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4560,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4568,"t":"byte","b":[32,32,32,32,32,32,52,32]},{"a":4576,"l":"hiscore_row4","c":"Fourth entry of the high-score table inside the template (row 12 of the screen), written from $05EE by save_hiscores ($30B8).","t":"byte","b":[20,11,52,32,48,48,48,48],"x":[12495]},{"a":4584,"t":"byte","b":[48,48,32,32,32,32,32,32]},{"a":4592,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4600,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4608,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4616,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4624,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4632,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4640,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4648,"t":"byte","b":[32,32,32,32,32,32,53,32]},{"a":4656,"l":"hiscore_row5","c":"Fifth entry of the high-score table inside the template (row 14 of the screen), written from $063E by save_hiscores ($30B8).","t":"byte","b":[20,11,53,32],"x":[12501]},{"a":4660,"l":"hiscore_row5_score","c":"The score digits of the fifth entry, inside the template. enter_name ($30DE) compares the player's score with these five bytes to decide whether the name entry runs.","t":"byte","b":[48,48,48,48,48,48,32,32],"x":[12518]},{"a":4668,"t":"byte","b":[32,32,32,32]},{"a":4672,"l":"hiscore_screen_part3","c":"Start of the third 255-byte piece of the high-score screen, copied to $064E by show_hiscore_screen ($241C).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9258]},{"a":4680,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4688,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4696,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4704,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4712,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4720,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4728,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4736,"t":"byte","b":[32,32,91,91,91,32,32,32]},{"a":4744,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4752,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4760,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4768,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4776,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4784,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4792,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4800,"t":"byte","b":[32,32,32,32,32,32,32,1]},{"a":4808,"t":"byte","b":[2,3,4,5,6,7,8,9]},{"a":4816,"t":"byte","b":[10,11,12,13,14,15,16,17]},{"a":4824,"t":"byte","b":[18,19,20,21,22,23,24,25]},{"a":4832,"t":"byte","b":[26,32,32,32,32,32,32,32]},{"a":4840,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4848,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4856,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4864,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4872,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4880,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4888,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4896,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4904,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4912,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4920,"t":"byte","b":[32,32,32,32,32,32,32]},{"a":4927,"l":"hiscore_screen_part4","c":"The last 75 bytes of the high-score screen, blank: row 21 from column 5 and all of row 22, copied to $074D by show_hiscore_screen ($241C).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9271]},{"a":4935,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4943,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4951,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4959,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4967,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4975,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4983,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4991,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":4999,"t":"byte","b":[32,32,32]},{"a":5002,"l":"title_screen","c":"The title screen, rows 2 to 22 as screen codes: an oval frame of solid characters, \"SQUIRM\" in large letters made of characters $26-$3F, \"MYSTERY BONUS\" beside the two treasure characters, \"SQUIRM\" beside a worm of eight segments, \"10 POINTS FOR\" beside five eggs, \"PLUG JOYSTICK IN PORT 1\" between two rows of the rotating characters $4E-$55, and \"PRESS FIRE TO START\". show_title_screen ($2441) copies it to $0450; its colours are title_colours ($20AB).","t":"byte","b":[160,160,160,160,160,160,160,160],"x":[9285]},{"a":5010,"t":"byte","b":[160,32,32,32,32,32,32,32]},{"a":5018,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5026,"t":"byte","b":[32,32,32,32,32,32,32,160]},{"a":5034,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":5042,"t":"byte","b":[160,160,160,160,160,160,160,32]},{"a":5050,"t":"byte","b":[32,32,32,38,39,32,32,32]},{"a":5058,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5066,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5074,"t":"byte","b":[32,160,160,160,160,160,160,160]},{"a":5082,"t":"byte","b":[160,160,160,160,160,32,32,32]},{"a":5090,"t":"byte","b":[32,32,32,42,43,32,38,44]},{"a":5098,"t":"byte","b":[32,46,47,32,58,32,38,60]},{"a":5106,"t":"byte","b":[32,62,63,32,32,32,32,32]},{"a":5114,"t":"byte","b":[32,32,32,160,160,160,160,160]},{"a":5122,"t":"byte","b":[160,160,160,32,32,32,32,32]},{"a":5130,"t":"byte","b":[32,32,32,40,41,32,40,45]},{"a":5138,"t":"byte","b":[32,40,41,32,59,32,46,61]},{"a":5146,"t":"byte","b":[32,46,47,32,32,32,32,32]},{"a":5154,"t":"byte","b":[32,32,32,32,32,160,160,160]},{"a":5162,"t":"byte","b":[160,32,32,32,32,32,32,32]},{"a":5170,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5178,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5186,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5194,"t":"byte","b":[32,32,32,32,32,32,32,160]},{"a":5202,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5210,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5218,"t":"byte","b":[32,78,32,32,32,32,32,32]},{"a":5226,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5234,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5242,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5250,"t":"byte","b":[32,32,32,32,32,32,32]},{"a":5257,"l":"title_screen_part2","c":"Second 255-byte piece of the title screen, copied to $054F by show_title_screen ($2443).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9291]},{"a":5265,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5273,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5281,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5289,"t":"byte","b":[32,32,32,13,25,19,20,5]},{"a":5297,"t":"byte","b":[18,25,32,2,15,14,21,19]},{"a":5305,"t":"byte","b":[32,32,73,32,72,32,32,32]},{"a":5313,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5321,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5329,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5337,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5345,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5353,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5361,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5369,"t":"byte","b":[32,32,32,19,17,21,9,18]},{"a":5377,"t":"byte","b":[13,32,68,69,68,69,68,69]},{"a":5385,"t":"byte","b":[68,67,32,32,32,32,32,32]},{"a":5393,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5401,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5409,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5417,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5425,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5433,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5441,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5449,"t":"byte","b":[32,32,49,48,32,16,15,9]},{"a":5457,"t":"byte","b":[14,20,19,32,6,15,18,32]},{"a":5465,"t":"byte","b":[70,70,70,70,70,32,32,32]},{"a":5473,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5481,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5489,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5497,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5505,"t":"byte","b":[32,32,32,32,32,32,32]},{"a":5512,"l":"title_screen_part3","c":"Third 255-byte piece of the title screen, copied to $064E by show_title_screen ($2443).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9297]},{"a":5520,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5528,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5536,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5544,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5552,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5560,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5568,"t":"byte","b":[32,78,79,80,81,82,83,84]},{"a":5576,"t":"byte","b":[85,78,79,80,81,82,83,84]},{"a":5584,"t":"byte","b":[85,78,79,80,81,82,83,84]},{"a":5592,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5600,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5608,"t":"byte","b":[85,144,140,149,135,160,138,143]},{"a":5616,"t":"byte","b":[153,147,148,137,131,139,160,137]},{"a":5624,"t":"byte","b":[142,160,144,143,146,148,160,177]},{"a":5632,"t":"byte","b":[85,32,32,32,32,32,32,32]},{"a":5640,"t":"byte","b":[32,32,160,32,32,32,32,32]},{"a":5648,"t":"byte","b":[32,78,79,80,81,82,83,84]},{"a":5656,"t":"byte","b":[85,78,79,80,81,82,83,84]},{"a":5664,"t":"byte","b":[85,78,79,80,81,82,83,84]},{"a":5672,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5680,"t":"byte","b":[32,160,160,160,160,32,32,32]},{"a":5688,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5696,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5704,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5712,"t":"byte","b":[32,32,32,32,32,32,32,160]},{"a":5720,"t":"byte","b":[160,160,160,160,160,160,160,32]},{"a":5728,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5736,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5744,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5752,"t":"byte","b":[32,32,32,32,32,160,160,160]},{"a":5760,"t":"byte","b":[160,160,160,160,160,160,160]},{"a":5767,"l":"title_screen_part4","c":"Last 75 bytes of the title screen (the bottom of the oval and \"PRESS FIRE TO START\"), copied to $074D by show_title_screen ($2443).","t":"byte","b":[160,160,32,32,32,16,18,5],"x":[9310]},{"a":5775,"t":"byte","b":[19,19,32,32,134,137,146,133]},{"a":5783,"t":"byte","b":[32,20,15,32,19,20,1,18]},{"a":5791,"t":"byte","b":[20,32,32,32,160,160,160,160]},{"a":5799,"t":"byte","b":[160,160,160,160,160,160,160,160]},{"a":5807,"t":"byte","b":[160,160,160,160,32,32,32,32]},{"a":5815,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5823,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5831,"t":"byte","b":[32,32,160,160,160,160,160,160]},{"a":5839,"t":"byte","b":[160,160,160]},{"a":5842,"l":"maze1","c":"Maze 1, the first level's and every third after: rows 2 to 22 of the screen as screen codes. Walls are characters $1B-$1F and $21-$25, corridors are spaces. The left edge is open on row 12 (where the player starts, $05E0) and the right edge on row 11: since the screen is one line of memory, a step left from row 12, column 0 lands on row 11, column 39, and a step right from there comes back. show_maze1 ($246A) copies it to $0450.","t":"byte","b":[28,29,29,29,29,29,29,29],"x":[9324]},{"a":5850,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":5858,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":5866,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":5874,"t":"byte","b":[29,29,29,29,29,29,29,30]},{"a":5882,"t":"byte","b":[27,32,32,32,32,32,32,32]},{"a":5890,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5898,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5906,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5914,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":5922,"t":"byte","b":[27,32,28,29,29,29,29,29]},{"a":5930,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":5938,"t":"byte","b":[29,29,29,29,29,30,32,28]},{"a":5946,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":5954,"t":"byte","b":[29,29,29,29,29,36,32,27]},{"a":5962,"t":"byte","b":[27,32,27,32,32,32,32,32]},{"a":5970,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5978,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":5986,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":5994,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":6002,"t":"byte","b":[27,32,27,32,28,29,36,32]},{"a":6010,"t":"byte","b":[37,29,29,29,29,29,29,29]},{"a":6018,"t":"byte","b":[29,29,29,36,32,27,32,27]},{"a":6026,"t":"byte","b":[32,29,32,34,32,28,29,29]},{"a":6034,"t":"byte","b":[29,29,29,29,29,30,32,27]},{"a":6042,"t":"byte","b":[27,32,27,32,27,32,32,32]},{"a":6050,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6058,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":6066,"t":"byte","b":[32,32,32,27,32,27,32,32]},{"a":6074,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":6082,"t":"byte","b":[27,32,27,32,27,32,28,29]},{"a":6090,"t":"byte","b":[29,29,29,29,29,29,29]},{"a":6097,"l":"maze1_part2","c":"Second 255-byte piece of maze 1, copied to $054F by show_maze1 ($246A).","t":"byte","b":[29,29,36,32,34,32,27,32],"x":[9330]},{"a":6105,"t":"byte","b":[33,29,29,29,31,32,27,32]},{"a":6113,"t":"byte","b":[34,32,29,32,34,32,27,32]},{"a":6121,"t":"byte","b":[27,27,32,27,32,27,32,27]},{"a":6129,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6137,"t":"byte","b":[32,32,32,32,27,32,27,32]},{"a":6145,"t":"byte","b":[32,32,32,32,32,32,27,32]},{"a":6153,"t":"byte","b":[27,32,32,32,27,32,27,32]},{"a":6161,"t":"byte","b":[27,27,32,27,32,27,32,27]},{"a":6169,"t":"byte","b":[32,28,29,29,29,29,29,29]},{"a":6177,"t":"byte","b":[29,29,30,32,27,32,33,29]},{"a":6185,"t":"byte","b":[29,29,29,29,29,29,31,32]},{"a":6193,"t":"byte","b":[33,29,29,29,31,32,35,32]},{"a":6201,"t":"byte","b":[35,35,32,27,32,27,32,27]},{"a":6209,"t":"byte","b":[32,35,32,32,32,32,32,32]},{"a":6217,"t":"byte","b":[32,32,27,32,27,32,32,32]},{"a":6225,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6233,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6241,"t":"byte","b":[32,32,32,27,32,27,32,27]},{"a":6249,"t":"byte","b":[32,32,32,37,29,29,29,29]},{"a":6257,"t":"byte","b":[36,32,27,32,27,32,28,29]},{"a":6265,"t":"byte","b":[29,29,29,29,29,29,36,32]},{"a":6273,"t":"byte","b":[37,29,29,29,29,29,29,29]},{"a":6281,"t":"byte","b":[30,34,32,27,32,27,32,27]},{"a":6289,"t":"byte","b":[32,34,32,32,32,32,32,32]},{"a":6297,"t":"byte","b":[32,32,27,32,27,32,27,32]},{"a":6305,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6313,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6321,"t":"byte","b":[27,27,32,27,32,27,32,27]},{"a":6329,"t":"byte","b":[32,33,29,29,29,29,29,29]},{"a":6337,"t":"byte","b":[29,29,31,32,27,32,27,32]},{"a":6345,"t":"byte","b":[28,29,29,29,29,29,29]},{"a":6352,"l":"maze1_part3","c":"Third 255-byte piece of maze 1, copied to $064E by show_maze1 ($246A).","t":"byte","b":[29,29,29,36,32,37,29,30],"x":[9336]},{"a":6360,"t":"byte","b":[32,27,27,32,27,32,27,32]},{"a":6368,"t":"byte","b":[27,32,32,32,32,32,32,32]},{"a":6376,"t":"byte","b":[32,32,32,32,32,27,32,35]},{"a":6384,"t":"byte","b":[32,27,32,32,32,32,32,32]},{"a":6392,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":6400,"t":"byte","b":[32,27,27,32,27,32,27,32]},{"a":6408,"t":"byte","b":[27,32,29,29,29,29,29,29]},{"a":6416,"t":"byte","b":[30,32,37,29,32,27,32,32]},{"a":6424,"t":"byte","b":[32,35,32,28,29,29,36,32]},{"a":6432,"t":"byte","b":[37,29,29,29,29,30,32,27]},{"a":6440,"t":"byte","b":[32,27,27,32,27,32,27,32]},{"a":6448,"t":"byte","b":[27,32,32,32,32,32,32,32]},{"a":6456,"t":"byte","b":[27,32,32,32,32,27,32,34]},{"a":6464,"t":"byte","b":[32,32,32,27,32,32,32,32]},{"a":6472,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":6480,"t":"byte","b":[32,27,27,32,27,32,35,32]},{"a":6488,"t":"byte","b":[33,29,29,29,29,29,36,32]},{"a":6496,"t":"byte","b":[27,32,37,29,29,31,32,27]},{"a":6504,"t":"byte","b":[32,34,32,33,29,29,29,29]},{"a":6512,"t":"byte","b":[36,32,37,29,29,31,32,27]},{"a":6520,"t":"byte","b":[32,27,27,32,27,32,32,32]},{"a":6528,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6536,"t":"byte","b":[27,32,32,32,32,32,32,27]},{"a":6544,"t":"byte","b":[32,27,32,32,32,32,32,32]},{"a":6552,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":6560,"t":"byte","b":[32,27,27,32,33,29,29,29]},{"a":6568,"t":"byte","b":[29,29,29,36,32,37,29,29]},{"a":6576,"t":"byte","b":[31,32,37,29,29,29,29,31]},{"a":6584,"t":"byte","b":[32,33,29,29,36,32,37,29]},{"a":6592,"t":"byte","b":[29,29,29,29,29,29,29,31]},{"a":6600,"t":"byte","b":[32,27,27,32,32,32,32]},{"a":6607,"l":"maze1_part4","c":"Last 75 bytes of maze 1, row 21 from column 5 and all of row 22, copied to $074D by show_maze1 ($246A).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9349]},{"a":6615,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6623,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6631,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6639,"t":"byte","b":[32,32,27,33,29,29,29,29]},{"a":6647,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6655,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6663,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6671,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6679,"t":"byte","b":[29,29,31]},{"a":6682,"l":"maze2","c":"Maze 2, for the second level and every third after: rows 2 to 22 as screen codes, with the same wall characters as maze 1 ($16D2). Its left edge is open on rows 11 and 12 and its right edge on rows 10 and 11, so it has two ways across where maze 1 has one: right from row 10 lands on row 11 at the left, and right from row 11 on row 12. show_maze2 ($2491) copies it to $0450.","t":"byte","b":[28,29,29,29,29,29,29,29],"x":[9363]},{"a":6690,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6698,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6706,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6714,"t":"byte","b":[29,29,29,29,29,29,29,30]},{"a":6722,"t":"byte","b":[27,32,32,32,32,32,32,32]},{"a":6730,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6738,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6746,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6754,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":6762,"t":"byte","b":[27,32,28,29,29,29,29,29]},{"a":6770,"t":"byte","b":[29,29,29,29,36,32,37,29]},{"a":6778,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":6786,"t":"byte","b":[29,29,29,29,30,32,28,29]},{"a":6794,"t":"byte","b":[29,29,29,29,30,32,32,27]},{"a":6802,"t":"byte","b":[27,32,27,32,32,32,32,32]},{"a":6810,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6818,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6826,"t":"byte","b":[32,32,32,32,27,32,27,32]},{"a":6834,"t":"byte","b":[32,32,32,32,27,32,32,27]},{"a":6842,"t":"byte","b":[27,32,27,32,37,29,29,29]},{"a":6850,"t":"byte","b":[36,32,37,29,29,29,29,29]},{"a":6858,"t":"byte","b":[29,29,29,36,32,37,29,29]},{"a":6866,"t":"byte","b":[29,29,36,32,27,32,27,32]},{"a":6874,"t":"byte","b":[34,32,34,32,27,32,32,27]},{"a":6882,"t":"byte","b":[27,32,27,32,32,32,32,32]},{"a":6890,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6898,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6906,"t":"byte","b":[32,32,32,32,27,32,27,32]},{"a":6914,"t":"byte","b":[27,32,27,32,27,32,32,27]},{"a":6922,"t":"byte","b":[27,32,33,29,29,29,29,29]},{"a":6930,"t":"byte","b":[29,29,29,36,32,37,29]},{"a":6937,"l":"maze2_part2","c":"Second 255-byte piece of maze 2, copied to $054F by show_maze2 ($2491).","t":"byte","b":[29,29,29,29,29,29,29,29],"x":[9369]},{"a":6945,"t":"byte","b":[29,29,29,36,32,27,32,27]},{"a":6953,"t":"byte","b":[32,27,32,27,32,33,30,32]},{"a":6961,"t":"byte","b":[27,27,32,32,32,32,32,32]},{"a":6969,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6977,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":6985,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":6993,"t":"byte","b":[32,27,32,27,32,32,27,32]},{"a":7001,"t":"byte","b":[35,33,29,29,29,29,29,29]},{"a":7009,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7017,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7025,"t":"byte","b":[29,29,29,29,29,31,32,27]},{"a":7033,"t":"byte","b":[32,27,32,33,36,32,27,32]},{"a":7041,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7049,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7057,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7065,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":7073,"t":"byte","b":[32,27,32,32,32,32,27,32]},{"a":7081,"t":"byte","b":[32,32,32,29,29,29,29,29]},{"a":7089,"t":"byte","b":[29,29,29,29,36,32,37,29]},{"a":7097,"t":"byte","b":[29,29,36,32,37,29,29,29]},{"a":7105,"t":"byte","b":[29,29,29,29,29,30,32,27]},{"a":7113,"t":"byte","b":[32,33,29,29,36,32,27,32]},{"a":7121,"t":"byte","b":[27,27,32,32,32,32,32,32]},{"a":7129,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7137,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7145,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":7153,"t":"byte","b":[32,32,32,32,32,32,27,32]},{"a":7161,"t":"byte","b":[27,27,32,28,29,29,36,32]},{"a":7169,"t":"byte","b":[37,29,29,29,30,32,37,29]},{"a":7177,"t":"byte","b":[29,29,29,29,29,29,30,32]},{"a":7185,"t":"byte","b":[28,29,29,36,32,27,32]},{"a":7192,"l":"maze2_part3","c":"Third 255-byte piece of maze 2, copied to $064E by show_maze2 ($2491).","t":"byte","b":[33,29,29,29,29,36,32,27],"x":[9375]},{"a":7200,"t":"byte","b":[32,27,27,32,27,32,32,32]},{"a":7208,"t":"byte","b":[32,32,32,32,32,27,32,32]},{"a":7216,"t":"byte","b":[32,32,32,32,32,32,32,35]},{"a":7224,"t":"byte","b":[32,27,32,32,32,32,27,32]},{"a":7232,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":7240,"t":"byte","b":[32,27,27,32,35,32,37,29]},{"a":7248,"t":"byte","b":[29,29,29,36,32,33,29,29]},{"a":7256,"t":"byte","b":[29,29,29,29,29,36,32,32]},{"a":7264,"t":"byte","b":[32,27,32,28,29,29,31,32]},{"a":7272,"t":"byte","b":[37,29,29,29,29,30,32,27]},{"a":7280,"t":"byte","b":[32,27,27,32,32,32,32,32]},{"a":7288,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7296,"t":"byte","b":[32,32,32,32,32,32,32,34]},{"a":7304,"t":"byte","b":[32,27,32,27,32,32,32,32]},{"a":7312,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":7320,"t":"byte","b":[32,27,27,32,34,32,37,29]},{"a":7328,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7336,"t":"byte","b":[29,29,29,29,29,29,29,31]},{"a":7344,"t":"byte","b":[32,27,32,33,29,29,29,29]},{"a":7352,"t":"byte","b":[36,32,37,29,29,31,32,27]},{"a":7360,"t":"byte","b":[32,27,27,32,27,32,32,32]},{"a":7368,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7376,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7384,"t":"byte","b":[32,27,32,32,32,32,32,32]},{"a":7392,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":7400,"t":"byte","b":[32,27,27,32,33,29,29,29]},{"a":7408,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7416,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7424,"t":"byte","b":[29,31,32,37,29,29,29,29]},{"a":7432,"t":"byte","b":[29,29,29,29,29,29,29,31]},{"a":7440,"t":"byte","b":[32,27,27,32,32,32,32]},{"a":7447,"l":"maze2_part4","c":"Last 75 bytes of maze 2, copied to $074D by show_maze2 ($2491).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9388]},{"a":7455,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7463,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7471,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7479,"t":"byte","b":[32,32,27,33,29,29,29,29]},{"a":7487,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7495,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7503,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7511,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7519,"t":"byte","b":[29,29,31]},{"a":7522,"l":"maze3","c":"Maze 3, for the third level and every third after: rows 2 to 22 as screen codes, openings on row 12 at the left and row 11 at the right as in maze 1 ($16D2). show_maze3 ($24B8) copies it to $0450.","t":"byte","b":[28,29,29,29,29,29,29,29],"x":[9402]},{"a":7530,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7538,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7546,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7554,"t":"byte","b":[29,29,29,29,29,29,29,30]},{"a":7562,"t":"byte","b":[27,32,32,32,32,32,32,32]},{"a":7570,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7578,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7586,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7594,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":7602,"t":"byte","b":[27,32,28,29,29,29,29,29]},{"a":7610,"t":"byte","b":[29,29,29,36,32,37,29,29]},{"a":7618,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7626,"t":"byte","b":[36,32,37,29,29,29,29,29]},{"a":7634,"t":"byte","b":[29,29,29,29,29,30,32,27]},{"a":7642,"t":"byte","b":[27,32,35,32,32,32,32,32]},{"a":7650,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7658,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7666,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7674,"t":"byte","b":[32,32,32,32,32,27,32,27]},{"a":7682,"t":"byte","b":[27,32,32,32,28,29,29,29]},{"a":7690,"t":"byte","b":[29,29,29,29,29,29,29,36]},{"a":7698,"t":"byte","b":[32,37,29,29,29,29,29,29]},{"a":7706,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":7714,"t":"byte","b":[29,29,29,30,32,27,32,27]},{"a":7722,"t":"byte","b":[27,32,34,32,27,32,32,32]},{"a":7730,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7738,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7746,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7754,"t":"byte","b":[32,32,32,27,32,27,32,27]},{"a":7762,"t":"byte","b":[27,32,27,32,35,32,28,29]},{"a":7770,"t":"byte","b":[29,29,29,29,29,29,29]},{"a":7777,"l":"maze3_part2","c":"Second 255-byte piece of maze 3, copied to $054F by show_maze3 ($24B8).","t":"byte","b":[29,29,29,29,29,29,29,36],"x":[9408]},{"a":7785,"t":"byte","b":[32,37,29,29,29,29,29,29]},{"a":7793,"t":"byte","b":[29,29,30,32,27,32,27,32]},{"a":7801,"t":"byte","b":[27,27,32,27,32,32,32,27]},{"a":7809,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7817,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7825,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7833,"t":"byte","b":[32,32,27,32,27,32,27,32]},{"a":7841,"t":"byte","b":[27,27,32,27,32,34,32,27]},{"a":7849,"t":"byte","b":[32,28,29,29,36,32,37,29]},{"a":7857,"t":"byte","b":[29,29,29,29,29,29,29,36]},{"a":7865,"t":"byte","b":[32,37,29,29,29,29,29,29]},{"a":7873,"t":"byte","b":[30,32,27,32,35,32,27,32]},{"a":7881,"t":"byte","b":[35,35,32,27,32,27,32,27]},{"a":7889,"t":"byte","b":[32,35,32,32,32,32,32,32]},{"a":7897,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7905,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":7913,"t":"byte","b":[27,32,27,32,32,32,27,32]},{"a":7921,"t":"byte","b":[32,32,32,27,32,27,32,27]},{"a":7929,"t":"byte","b":[32,32,32,37,29,32,32,32]},{"a":7937,"t":"byte","b":[32,32,28,29,36,32,37,29]},{"a":7945,"t":"byte","b":[29,29,29,30,32,29,36,32]},{"a":7953,"t":"byte","b":[27,32,27,32,34,32,27,32]},{"a":7961,"t":"byte","b":[34,34,32,27,32,27,32,35]},{"a":7969,"t":"byte","b":[32,34,32,32,32,32,28,29]},{"a":7977,"t":"byte","b":[29,29,31,32,32,32,32,32]},{"a":7985,"t":"byte","b":[32,32,32,27,32,32,32,32]},{"a":7993,"t":"byte","b":[27,32,27,32,27,32,27,32]},{"a":8001,"t":"byte","b":[27,27,32,27,32,27,32,32]},{"a":8009,"t":"byte","b":[32,33,29,29,29,29,31,32]},{"a":8017,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":8025,"t":"byte","b":[32,32,32,33,29,29,29]},{"a":8032,"l":"maze3_part3","c":"Third 255-byte piece of maze 3, copied to $064E by show_maze3 ($24B8).","t":"byte","b":[29,31,32,27,32,27,32,27],"x":[9414]},{"a":8040,"t":"byte","b":[32,27,27,32,27,32,27,32]},{"a":8048,"t":"byte","b":[34,32,32,32,32,32,32,32]},{"a":8056,"t":"byte","b":[32,28,29,29,36,32,37,29]},{"a":8064,"t":"byte","b":[29,29,30,32,32,32,32,32]},{"a":8072,"t":"byte","b":[32,32,32,27,32,27,32,35]},{"a":8080,"t":"byte","b":[32,27,27,32,27,32,27,32]},{"a":8088,"t":"byte","b":[33,29,29,29,29,29,29,29]},{"a":8096,"t":"byte","b":[29,31,32,32,32,32,32,32]},{"a":8104,"t":"byte","b":[32,32,27,32,37,29,36,32]},{"a":8112,"t":"byte","b":[37,29,29,31,32,27,32,32]},{"a":8120,"t":"byte","b":[32,27,27,32,27,32,27,32]},{"a":8128,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":8136,"t":"byte","b":[32,32,32,28,29,29,29,29]},{"a":8144,"t":"byte","b":[30,32,27,32,32,32,32,32]},{"a":8152,"t":"byte","b":[32,32,32,32,32,27,32,34]},{"a":8160,"t":"byte","b":[32,27,27,32,27,32,33,29]},{"a":8168,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":8176,"t":"byte","b":[29,29,29,31,32,32,32,32]},{"a":8184,"t":"byte","b":[27,32,33,29,29,29,29,36]},{"a":8192,"t":"byte","b":[32,37,29,29,29,31,32,27]},{"a":8200,"t":"byte","b":[32,27,27,32,27,32,32,32]},{"a":8208,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":8216,"t":"byte","b":[32,32,32,32,32,32,34,32]},{"a":8224,"t":"byte","b":[27,32,32,32,32,32,32,32]},{"a":8232,"t":"byte","b":[32,32,32,32,32,32,32,27]},{"a":8240,"t":"byte","b":[32,27,27,32,33,29,29,29]},{"a":8248,"t":"byte","b":[29,36,32,37,29,29,29,29]},{"a":8256,"t":"byte","b":[29,29,29,29,29,29,31,32]},{"a":8264,"t":"byte","b":[33,29,29,29,29,36,32,37]},{"a":8272,"t":"byte","b":[29,29,29,29,29,29,29,31]},{"a":8280,"t":"byte","b":[32,27,27,32,32,32,32]},{"a":8287,"l":"maze3_part4","c":"Last 75 bytes of maze 3, copied to $074D by show_maze3 ($24B8).","t":"byte","b":[32,32,32,32,32,32,32,32],"x":[9427]},{"a":8295,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":8303,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":8311,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":8319,"t":"byte","b":[32,32,27,33,29,29,29,29]},{"a":8327,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":8335,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":8343,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":8351,"t":"byte","b":[29,29,29,29,29,29,29,29]},{"a":8359,"t":"byte","b":[29,29,31]},{"a":8362,"c":"One byte nothing reads ($04), between maze 3, which ends at $20A9, and the title's colours.","t":"byte","b":[4]},{"a":8363,"l":"title_colours","c":"The title screen's colours, rows 2 to 22, one byte per cell for colour RAM, copied to $D850 by show_title_colours ($24DF). Only the low four bits reach the screen; the high four bits vary at random ($F2, $C2, $B2 for the same red), which is what reading colour RAM returns on a real C64, so the table was most likely saved from colour RAM after the screen was drawn.","t":"byte","b":[242,242,194,242,146,242,242,194],"x":[9441]},{"a":8371,"t":"byte","b":[242,98,18,242,242,242,18,242]},{"a":8379,"t":"byte","b":[242,162,98,242,242,242,146,18]},{"a":8387,"t":"byte","b":[242,242,18,242,242,242,18,2]},{"a":8395,"t":"byte","b":[2,178,162,242,146,18,98,130]},{"a":8403,"t":"byte","b":[242,146,2,242,178,242,178,242]},{"a":8411,"t":"byte","b":[242,178,162,243,147,242,242,242]},{"a":8419,"t":"byte","b":[146,178,242,242,178,242,242,2]},{"a":8427,"t":"byte","b":[242,194,210,242,210,242,242,242]},{"a":8435,"t":"byte","b":[242,194,2,162,194,242,130,242]},{"a":8443,"t":"byte","b":[242,242,162,18,242,242,146,2]},{"a":8451,"t":"byte","b":[242,146,18,243,243,242,163,227]},{"a":8459,"t":"byte","b":[242,245,165,242,103,247,153,9]},{"a":8467,"t":"byte","b":[242,203,251,242,98,242,98,242]},{"a":8475,"t":"byte","b":[242,146,162,242,242,242,18,178]},{"a":8483,"t":"byte","b":[242,18,242,242,50,242,242,18]},{"a":8491,"t":"byte","b":[242,34,162,243,99,242,179,3]},{"a":8499,"t":"byte","b":[242,245,245,242,247,242,185,201]},{"a":8507,"t":"byte","b":[242,27,251,242,178,2,2,210]},{"a":8515,"t":"byte","b":[242,18,242,242,18,242,146,18]},{"a":8523,"t":"byte","b":[242,2,242,130,98,242,98,66]},{"a":8531,"t":"byte","b":[242,18,242,18,242,242,146,194]},{"a":8539,"t":"byte","b":[242,2,242,98,162,242,2,2]},{"a":8547,"t":"byte","b":[242,242,242,18,178,242,18,162]},{"a":8555,"t":"byte","b":[242,242,242,242,242,242,18,242]},{"a":8563,"t":"byte","b":[242,18,242,242,34,242,242,130]},{"a":8571,"t":"byte","b":[242,242,18,178,242,242,146,82]},{"a":8579,"t":"byte","b":[242,206,242,130,66,242,194,2]},{"a":8587,"t":"byte","b":[242,242,242,178,18,178,242,242]},{"a":8595,"t":"byte","b":[242,242,242,130,162,242,178,178]},{"a":8603,"t":"byte","b":[242,242,242,146,242,242,130,18]},{"a":8611,"t":"byte","b":[242,242,242,178,226,242,242]},{"a":8618,"l":"title_colours_part2","c":"Second 255-byte piece of the title's colours, copied to $D94F by show_title_colours ($24DF).","t":"byte","b":[98,242,242,242,146,98,242,194],"x":[9447]},{"a":8626,"t":"byte","b":[2,242,242,242,130,178,242,242]},{"a":8634,"t":"byte","b":[146,242,242,146,242,18,242,242]},{"a":8642,"t":"byte","b":[226,18,242,242,2,162,242,130]},{"a":8650,"t":"byte","b":[242,242,130,249,249,249,249,169]},{"a":8658,"t":"byte","b":[201,249,9,73,249,249,249,169]},{"a":8666,"t":"byte","b":[146,242,250,130,251,242,242,226]},{"a":8674,"t":"byte","b":[2,242,194,242,210,194,242,226]},{"a":8682,"t":"byte","b":[2,226,242,242,18,242,242,146]},{"a":8690,"t":"byte","b":[98,242,194,242,242,242,242,130]},{"a":8698,"t":"byte","b":[178,242,242,178,18,98,242,242]},{"a":8706,"t":"byte","b":[242,242,2,242,146,242,242,210]},{"a":8714,"t":"byte","b":[178,242,242,178,242,242,242,130]},{"a":8722,"t":"byte","b":[242,242,130,178,242,242,242,2]},{"a":8730,"t":"byte","b":[242,242,130,22,247,245,132,19]},{"a":8738,"t":"byte","b":[242,242,30,254,254,158,254,30]},{"a":8746,"t":"byte","b":[142,255,242,242,242,18,242,242]},{"a":8754,"t":"byte","b":[146,242,18,130,242,98,242,242]},{"a":8762,"t":"byte","b":[242,242,18,242,242,18,242,242]},{"a":8770,"t":"byte","b":[146,242,242,242,242,18,242,178]},{"a":8778,"t":"byte","b":[242,242,194,130,242,242,242,242]},{"a":8786,"t":"byte","b":[242,242,242,18,242,242,242,2]},{"a":8794,"t":"byte","b":[194,242,130,242,242,242,242,242]},{"a":8802,"t":"byte","b":[242,242,146,18,18,130,242,242]},{"a":8810,"t":"byte","b":[242,242,245,245,245,149,245,197]},{"a":8818,"t":"byte","b":[213,245,245,178,245,133,245,194]},{"a":8826,"t":"byte","b":[1,161,241,193,241,130,242,98]},{"a":8834,"t":"byte","b":[2,242,146,98,242,242,242,130]},{"a":8842,"t":"byte","b":[18,242,66,18,18,242,242,242]},{"a":8850,"t":"byte","b":[242,242,242,178,242,66,242,194]},{"a":8858,"t":"byte","b":[2,162,2,130,130,98,242,98]},{"a":8866,"t":"byte","b":[66,242,162,178,242,242,242]},{"a":8873,"l":"title_colours_part3","c":"Third 255-byte piece of the title's colours, copied to $DA4E by show_title_colours ($24DF).","t":"byte","b":[2,242,242,130,242,242,242,242],"x":[9453]},{"a":8881,"t":"byte","b":[146,242,242,18,98,242,242,242]},{"a":8889,"t":"byte","b":[146,66,242,194,146,210,242,242]},{"a":8897,"t":"byte","b":[162,242,242,242,146,242,242,242]},{"a":8905,"t":"byte","b":[130,130,242,242,178,242,242,242]},{"a":8913,"t":"byte","b":[2,194,242,130,242,242,242,242]},{"a":8921,"t":"byte","b":[242,242,242,146,18,242,242,242]},{"a":8929,"t":"byte","b":[162,17,162,243,180,245,134,247]},{"a":8937,"t":"byte","b":[104,233,250,251,108,253,142,255]},{"a":8945,"t":"byte","b":[145,18,243,244,245,246,231,248]},{"a":8953,"t":"byte","b":[18,242,178,146,226,178,242,242]},{"a":8961,"t":"byte","b":[178,242,242,162,98,242,242,242]},{"a":8969,"t":"byte","b":[147,23,247,247,23,247,247,247]},{"a":8977,"t":"byte","b":[247,247,247,167,199,247,7,247]},{"a":8985,"t":"byte","b":[247,231,167,231,151,247,247,135]},{"a":8993,"t":"byte","b":[249,242,242,226,2,242,194,242]},{"a":9001,"t":"byte","b":[66,18,242,210,146,242,18,242]},{"a":9009,"t":"byte","b":[242,26,252,187,45,190,255,241]},{"a":9017,"t":"byte","b":[18,131,244,245,246,183,159,249]},{"a":9025,"t":"byte","b":[202,139,252,253,158,255,113,178]},{"a":9033,"t":"byte","b":[242,242,242,242,194,242,130,242]},{"a":9041,"t":"byte","b":[242,242,242,242,242,242,146,18]},{"a":9049,"t":"byte","b":[18,130,242,2,242,242,146,98]},{"a":9057,"t":"byte","b":[242,98,66,146,98,242,66,98]},{"a":9065,"t":"byte","b":[242,226,18,242,18,242,194,242]},{"a":9073,"t":"byte","b":[242,18,242,242,146,226,18,242]},{"a":9081,"t":"byte","b":[242,146,242,162,242,242,242,242]},{"a":9089,"t":"byte","b":[242,242,242,242,98,242,98,242]},{"a":9097,"t":"byte","b":[242,130,242,34,130,242,162,2]},{"a":9105,"t":"byte","b":[178,242,242,18,242,242,146,242]},{"a":9113,"t":"byte","b":[18,18,242,146,66,242,242,242]},{"a":9121,"t":"byte","b":[242,18,242,242,242,242,242]},{"a":9128,"l":"title_colours_part4","c":"Last 75 bytes of the title's colours, copied to $DB4D by show_title_colours ($24DF).","t":"byte","b":[242,194,130,242,226,100,244,244],"x":[9466]},{"a":9136,"t":"byte","b":[244,244,66,162,23,151,247,71]},{"a":9144,"t":"byte","b":[242,148,244,180,244,148,228,20]},{"a":9152,"t":"byte","b":[244,242,178,242,178,242,146,210]},{"a":9160,"t":"byte","b":[242,242,242,242,242,194,242,130]},{"a":9168,"t":"byte","b":[178,242,98,242,2,18,194,178]},{"a":9176,"t":"byte","b":[242,178,194,18,210,242,242,242]},{"a":9184,"t":"byte","b":[242,242,242,242,50,242,242,146]},{"a":9192,"t":"byte","b":[242,2,130,242,242,226,242,242]},{"a":9200,"t":"byte","b":[178,178,98]},{"a":9203,"c":"Seven bytes nothing reads ($B1 $31 $35 $A7 $31 $32 $31), between the title's colours and the first routine at $23FA.","t":"byte","b":[177,49,53,167,49,50,49]},{"a":9210,"l":"draw_status_lines","c":"Copies the two status lines from their templates to the screen: 80 characters from status_top_template ($0FA0) to rows 0 and 1, and 80 from status_bottom_template ($0FF1) to rows 23 and 24. The score, level, lives and timer then change on the screen itself.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12888,15212]},{"a":9212,"l":"b_23FC","t":"code","b":[189,160,15],"m":"lda","oa":4000,"o":"status_top_template,x","x":[9227]},{"a":9215,"t":"code","b":[157,0,4],"m":"sta","oa":1024,"o":"f_0400,x"},{"a":9218,"t":"code","b":[189,241,15],"m":"lda","oa":4081,"o":"status_bottom_template,x"},{"a":9221,"t":"code","b":[157,152,7],"m":"sta","oa":1944,"o":"f_0798,x"},{"a":9224,"t":"code","b":[232],"m":"inx"},{"a":9225,"t":"code","b":[224,80],"m":"cpx","o":"#$50"},{"a":9227,"t":"code","b":[208,239],"m":"bne","oa":9212,"o":"b_23FC"},{"a":9229,"t":"code","b":[96],"m":"rts"},{"a":9230,"l":"colour_status_lines","c":"Fills the colour of the two status lines at the top and the two at the bottom with the colour in A: red in play, yellow for the bonus run, blue on the high-score screen. Every caller sets the border $D020 to the same colour.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12904,12991,14213,14652,15209]},{"a":9232,"l":"b_2410","t":"code","b":[157,0,216],"m":"sta","o":"colour_ram,x","x":[9241]},{"a":9235,"t":"code","b":[157,152,219],"m":"sta","o":"$DB98,x"},{"a":9238,"t":"code","b":[232],"m":"inx"},{"a":9239,"t":"code","b":[224,80],"m":"cpx","o":"#$50"},{"a":9241,"t":"code","b":[208,245],"m":"bne","oa":9232,"o":"b_2410"},{"a":9243,"t":"code","b":[96],"m":"rts"},{"a":9244,"l":"show_hiscore_screen","c":"Copies the high-score screen, 840 characters from hiscore_screen ($1042), to rows 2 to 22 of the screen: three runs of 255 and one of 75, the same shape as every screen copy in the game.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12923]},{"a":9246,"l":"b_241E","t":"code","b":[189,66,16],"m":"lda","oa":4162,"o":"hiscore_screen,x","x":[9267]},{"a":9249,"t":"code","b":[157,80,4],"m":"sta","oa":1104,"o":"f_0450,x"},{"a":9252,"t":"code","b":[189,65,17],"m":"lda","oa":4417,"o":"hiscore_screen_part2,x"},{"a":9255,"t":"code","b":[157,79,5],"m":"sta","oa":1359,"o":"f_054F,x"},{"a":9258,"t":"code","b":[189,64,18],"m":"lda","oa":4672,"o":"hiscore_screen_part3,x"},{"a":9261,"t":"code","b":[157,78,6],"m":"sta","oa":1614,"o":"f_064E,x"},{"a":9264,"t":"code","b":[232],"m":"inx"},{"a":9265,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":9267,"t":"code","b":[208,233],"m":"bne","oa":9246,"o":"b_241E"},{"a":9269,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9271,"l":"b_2437","t":"code","b":[189,63,19],"m":"lda","oa":4927,"o":"hiscore_screen_part4,x","x":[9280]},{"a":9274,"t":"code","b":[157,77,7],"m":"sta","oa":1869,"o":"f_074D,x"},{"a":9277,"t":"code","b":[232],"m":"inx"},{"a":9278,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":9280,"t":"code","b":[208,245],"m":"bne","oa":9271,"o":"b_2437"},{"a":9281,"t":"note","l":"show_title_via_sbc","c":"The address the start-up calls to show the title (JSR $2441 at $3B74). It is not the start of an instruction: the BNE's offset byte $F5 at $2441 and the RTS $60 at $2442 run together as SBC $60,X, a subtraction whose result nobody uses, and the CPU then reaches show_title_screen at $2443.","note":"inside the item at $2440","x":[15220]},{"a":9282,"t":"code","b":[96],"m":"rts"},{"a":9283,"l":"show_title_screen","c":"Copies the title screen, 840 characters from title_screen ($138A), to rows 2 to 22.","t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9285,"l":"b_2445","t":"code","b":[189,138,19],"m":"lda","oa":5002,"o":"title_screen,x","x":[9306]},{"a":9288,"t":"code","b":[157,80,4],"m":"sta","oa":1104,"o":"f_0450,x"},{"a":9291,"t":"code","b":[189,137,20],"m":"lda","oa":5257,"o":"title_screen_part2,x"},{"a":9294,"t":"code","b":[157,79,5],"m":"sta","oa":1359,"o":"f_054F,x"},{"a":9297,"t":"code","b":[189,136,21],"m":"lda","oa":5512,"o":"title_screen_part3,x"},{"a":9300,"t":"code","b":[157,78,6],"m":"sta","oa":1614,"o":"f_064E,x"},{"a":9303,"t":"code","b":[232],"m":"inx"},{"a":9304,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":9306,"t":"code","b":[208,233],"m":"bne","oa":9285,"o":"b_2445"},{"a":9308,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9310,"l":"b_245E","t":"code","b":[189,135,22],"m":"lda","oa":5767,"o":"title_screen_part4,x","x":[9319]},{"a":9313,"t":"code","b":[157,77,7],"m":"sta","oa":1869,"o":"f_074D,x"},{"a":9316,"t":"code","b":[232],"m":"inx"},{"a":9317,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":9319,"t":"code","b":[208,245],"m":"bne","oa":9310,"o":"b_245E"},{"a":9321,"t":"code","b":[96],"m":"rts"},{"a":9322,"l":"show_maze1","c":"Copies maze 1, 840 characters from maze1 ($16D2), to rows 2 to 22. The start of a game calls it ($3BE3), and level_complete when maze_number is 1.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[14625,15331]},{"a":9324,"l":"b_246C","t":"code","b":[189,210,22],"m":"lda","oa":5842,"o":"maze1,x","x":[9345]},{"a":9327,"t":"code","b":[157,80,4],"m":"sta","oa":1104,"o":"f_0450,x"},{"a":9330,"t":"code","b":[189,209,23],"m":"lda","oa":6097,"o":"maze1_part2,x"},{"a":9333,"t":"code","b":[157,79,5],"m":"sta","oa":1359,"o":"f_054F,x"},{"a":9336,"t":"code","b":[189,208,24],"m":"lda","oa":6352,"o":"maze1_part3,x"},{"a":9339,"t":"code","b":[157,78,6],"m":"sta","oa":1614,"o":"f_064E,x"},{"a":9342,"t":"code","b":[232],"m":"inx"},{"a":9343,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":9345,"t":"code","b":[208,233],"m":"bne","oa":9324,"o":"b_246C"},{"a":9347,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9349,"l":"b_2485","t":"code","b":[189,207,25],"m":"lda","oa":6607,"o":"maze1_part4,x","x":[9358]},{"a":9352,"t":"code","b":[157,77,7],"m":"sta","oa":1869,"o":"f_074D,x"},{"a":9355,"t":"code","b":[232],"m":"inx"},{"a":9356,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":9358,"t":"code","b":[208,245],"m":"bne","oa":9349,"o":"b_2485"},{"a":9360,"t":"code","b":[96],"m":"rts"},{"a":9361,"l":"show_maze2","c":"Copies maze 2, 840 characters from maze2 ($1A1A), to rows 2 to 22.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[14635]},{"a":9363,"l":"b_2493","t":"code","b":[189,26,26],"m":"lda","oa":6682,"o":"maze2,x","x":[9384]},{"a":9366,"t":"code","b":[157,80,4],"m":"sta","oa":1104,"o":"f_0450,x"},{"a":9369,"t":"code","b":[189,25,27],"m":"lda","oa":6937,"o":"maze2_part2,x"},{"a":9372,"t":"code","b":[157,79,5],"m":"sta","oa":1359,"o":"f_054F,x"},{"a":9375,"t":"code","b":[189,24,28],"m":"lda","oa":7192,"o":"maze2_part3,x"},{"a":9378,"t":"code","b":[157,78,6],"m":"sta","oa":1614,"o":"f_064E,x"},{"a":9381,"t":"code","b":[232],"m":"inx"},{"a":9382,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":9384,"t":"code","b":[208,233],"m":"bne","oa":9363,"o":"b_2493"},{"a":9386,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9388,"l":"b_24AC","t":"code","b":[189,23,29],"m":"lda","oa":7447,"o":"maze2_part4,x","x":[9397]},{"a":9391,"t":"code","b":[157,77,7],"m":"sta","oa":1869,"o":"f_074D,x"},{"a":9394,"t":"code","b":[232],"m":"inx"},{"a":9395,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":9397,"t":"code","b":[208,245],"m":"bne","oa":9388,"o":"b_24AC"},{"a":9399,"t":"code","b":[96],"m":"rts"},{"a":9400,"l":"show_maze3","c":"Copies maze 3, 840 characters from maze3 ($1D62), to rows 2 to 22.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[14641]},{"a":9402,"l":"b_24BA","t":"code","b":[189,98,29],"m":"lda","oa":7522,"o":"maze3,x","x":[9423]},{"a":9405,"t":"code","b":[157,80,4],"m":"sta","oa":1104,"o":"f_0450,x"},{"a":9408,"t":"code","b":[189,97,30],"m":"lda","oa":7777,"o":"maze3_part2,x"},{"a":9411,"t":"code","b":[157,79,5],"m":"sta","oa":1359,"o":"f_054F,x"},{"a":9414,"t":"code","b":[189,96,31],"m":"lda","oa":8032,"o":"maze3_part3,x"},{"a":9417,"t":"code","b":[157,78,6],"m":"sta","oa":1614,"o":"f_064E,x"},{"a":9420,"t":"code","b":[232],"m":"inx"},{"a":9421,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":9423,"t":"code","b":[208,233],"m":"bne","oa":9402,"o":"b_24BA"},{"a":9425,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9427,"l":"b_24D3","t":"code","b":[189,95,32],"m":"lda","oa":8287,"o":"maze3_part4,x","x":[9436]},{"a":9430,"t":"code","b":[157,77,7],"m":"sta","oa":1869,"o":"f_074D,x"},{"a":9433,"t":"code","b":[232],"m":"inx"},{"a":9434,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":9436,"t":"code","b":[208,245],"m":"bne","oa":9427,"o":"b_24D3"},{"a":9438,"t":"code","b":[96],"m":"rts"},{"a":9439,"l":"show_title_colours","c":"Copies the title's colours, 840 bytes from title_colours ($20AB), into colour RAM for rows 2 to 22.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[15223]},{"a":9441,"l":"b_24E1","t":"code","b":[189,171,32],"m":"lda","oa":8363,"o":"title_colours,x","x":[9462]},{"a":9444,"t":"code","b":[157,80,216],"m":"sta","o":"$D850,x"},{"a":9447,"t":"code","b":[189,170,33],"m":"lda","oa":8618,"o":"title_colours_part2,x"},{"a":9450,"t":"code","b":[157,79,217],"m":"sta","o":"$D94F,x"},{"a":9453,"t":"code","b":[189,169,34],"m":"lda","oa":8873,"o":"title_colours_part3,x"},{"a":9456,"t":"code","b":[157,78,218],"m":"sta","o":"$DA4E,x"},{"a":9459,"t":"code","b":[232],"m":"inx"},{"a":9460,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":9462,"t":"code","b":[208,233],"m":"bne","oa":9441,"o":"b_24E1"},{"a":9464,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":9466,"l":"b_24FA","t":"code","b":[189,168,35],"m":"lda","oa":9128,"o":"title_colours_part4,x","x":[9475]},{"a":9469,"t":"code","b":[157,77,219],"m":"sta","o":"$DB4D,x"},{"a":9472,"t":"code","b":[232],"m":"inx"},{"a":9473,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":9475,"t":"code","b":[208,245],"m":"bne","oa":9466,"o":"b_24FA"},{"a":9477,"t":"code","b":[96],"m":"rts"},{"a":9478,"c":"Two zero bytes after show_title_colours's RTS, which nothing reads.","t":"byte","b":[0,0]},{"a":9480,"l":"rotate_spinner","c":"Moves the shapes of characters $4E-$55 down one place, row by row, the first shape going to the end: the eight frames of the spinning figure that is the player, the lives and the title's border. irq_handler calls it every seventh interrupt.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[15621]},{"a":9482,"l":"b_250A","t":"code","b":[189,112,42],"m":"lda","oa":10864,"o":"spinner_frame1,x","x":[9535]},{"a":9485,"t":"code","b":[72],"m":"pha"},{"a":9486,"t":"code","b":[189,120,42],"m":"lda","oa":10872,"o":"spinner_frame2,x"},{"a":9489,"t":"code","b":[157,112,42],"m":"sta","oa":10864,"o":"spinner_frame1,x"},{"a":9492,"t":"code","b":[189,128,42],"m":"lda","oa":10880,"o":"spinner_frame3,x"},{"a":9495,"t":"code","b":[157,120,42],"m":"sta","oa":10872,"o":"spinner_frame2,x"},{"a":9498,"t":"code","b":[189,136,42],"m":"lda","oa":10888,"o":"player_char,x"},{"a":9501,"t":"code","b":[157,128,42],"m":"sta","oa":10880,"o":"spinner_frame3,x"},{"a":9504,"t":"code","b":[189,144,42],"m":"lda","oa":10896,"o":"spinner_frame5,x"},{"a":9507,"t":"code","b":[157,136,42],"m":"sta","oa":10888,"o":"player_char,x"},{"a":9510,"t":"code","b":[189,152,42],"m":"lda","oa":10904,"o":"spinner_frame6,x"},{"a":9513,"t":"code","b":[157,144,42],"m":"sta","oa":10896,"o":"spinner_frame5,x"},{"a":9516,"t":"code","b":[189,160,42],"m":"lda","oa":10912,"o":"spinner_frame7,x"},{"a":9519,"t":"code","b":[157,152,42],"m":"sta","oa":10904,"o":"spinner_frame6,x"},{"a":9522,"t":"code","b":[189,168,42],"m":"lda","oa":10920,"o":"spinner_frame8,x"},{"a":9525,"t":"code","b":[157,160,42],"m":"sta","oa":10912,"o":"spinner_frame7,x"},{"a":9528,"t":"code","b":[104],"m":"pla"},{"a":9529,"t":"code","b":[157,168,42],"m":"sta","oa":10920,"o":"spinner_frame8,x"},{"a":9532,"t":"code","b":[232],"m":"inx"},{"a":9533,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":9535,"t":"code","b":[208,201],"m":"bne","oa":9482,"o":"b_250A"},{"a":9537,"t":"code","b":[96],"m":"rts"},{"a":9538,"l":"hiscore_colour_bands","c":"Colours the high-score screen in bands of 40 cells: row 3, the title, purple; the five table rows green, yellow, blue, red and white; row 16, the name boxes, cyan; row 18, the alphabet, purple. The second band starts at $D8F2, two cells into row 6, where the others start at a row's first cell.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12926]},{"a":9540,"l":"b_2544","t":"code","b":[169,4],"m":"lda","o":"#$04","x":[9583]},{"a":9542,"c":"Row 3 ($D878), the heading SQUIRM: purple.","t":"code","b":[157,120,216],"m":"sta","o":"$D878,x"},{"a":9545,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":9547,"c":"Row 6 from its third cell ($D8F2), the first entry: green.","t":"code","b":[157,242,216],"m":"sta","o":"$D8F2,x"},{"a":9550,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":9552,"c":"Row 8, the second entry: yellow.","t":"code","b":[157,64,217],"m":"sta","o":"$D940,x"},{"a":9555,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":9557,"c":"Row 10, the third entry: blue.","t":"code","b":[157,144,217],"m":"sta","o":"$D990,x"},{"a":9560,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":9562,"c":"Row 12, the fourth entry: red.","t":"code","b":[157,224,217],"m":"sta","o":"$D9E0,x"},{"a":9565,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":9567,"c":"Row 14, the fifth entry: white.","t":"code","b":[157,48,218],"m":"sta","o":"$DA30,x"},{"a":9570,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":9572,"c":"Row 16, the boxes where a name is typed: cyan.","t":"code","b":[157,128,218],"m":"sta","o":"$DA80,x"},{"a":9575,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":9577,"c":"Row 18, the alphabet: purple.","t":"code","b":[157,208,218],"m":"sta","o":"$DAD0,x"},{"a":9580,"t":"code","b":[232],"m":"inx"},{"a":9581,"t":"code","b":[224,40],"m":"cpx","o":"#$28"},{"a":9583,"t":"code","b":[208,211],"m":"bne","oa":9540,"o":"b_2544"},{"a":9585,"t":"code","b":[96],"m":"rts"},{"a":9586,"l":"leftover_basic_arrays","c":"Not the game's: arrays of the BASIC program that was in memory when the game was saved (leftover_assembler_basic, $080E). Each starts with BASIC's array header (two name bytes, the array's length, one dimension, its size): F(20) at $258E, K$(20) at $25FE and the start of K(20) at $2644, cut off by worm A's cells at $2648. Every element is zero; nothing reads them.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9594,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9602,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9610,"t":"byte","b":[0,0,0,0,70,0,112,0]},{"a":9618,"t":"byte","b":[1,0,21,0,0,0,0,0]},{"a":9626,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9634,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9642,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9650,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9658,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9666,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9674,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9682,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9690,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9698,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9706,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9714,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9722,"t":"byte","b":[0,0,0,0,75,128,70,0]},{"a":9730,"t":"byte","b":[1,0,21,0,0,0,0,0]},{"a":9738,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9746,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9754,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9762,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9770,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9778,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9786,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9794,"t":"byte","b":[0,0,75,0,112,0]},{"a":9800,"l":"worm_a_head","c":"Worm A: the longest, eight cells, which lays an egg where its tail was and moves only on the fourth level of each cycle of four. Its 8 cells as screen addresses, low byte first, head first and tail last (16 bytes, $2648-$2657). step_worm_a ($334D) draws the head as character $43 and the rest as $44, and each step shifts the list down one cell. reset_worms ($3669) puts every cell at $048E, so the worm starts coiled on one square.","t":"byte","b":[142],"x":[13156,13177,13208,13222,13252,13931]},{"a":9801,"l":"worm_a_head_hi","c":"Worm A: high byte of the head's screen address (the low byte is at $2648).","t":"byte","b":[4],"x":[13183,13214,13227,13257,13957]},{"a":9802,"l":"worm_a_cell1","c":"Worm A, body segment 1, counting back from the head: low byte of the screen address.","t":"byte","b":[142],"x":[13159,13232,13934]},{"a":9803,"l":"worm_a_cell1_hi","c":"Worm A, cell 1 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13237,13960]},{"a":9804,"l":"worm_a_cell2","c":"Worm A, body segment 2, counting back from the head: low byte of the screen address.","t":"byte","b":[142],"x":[13937]},{"a":9805,"l":"worm_a_cell2_hi","c":"Worm A, cell 2 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13963]},{"a":9806,"l":"worm_a_cell3","c":"Worm A, body segment 3, counting back from the head: low byte of the screen address.","t":"byte","b":[142],"x":[13940]},{"a":9807,"l":"worm_a_cell3_hi","c":"Worm A, cell 3 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13966]},{"a":9808,"l":"worm_a_cell4","c":"Worm A, body segment 4, counting back from the head: low byte of the screen address.","t":"byte","b":[142],"x":[13943]},{"a":9809,"l":"worm_a_cell4_hi","c":"Worm A, cell 4 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13969]},{"a":9810,"l":"worm_a_cell5","c":"Worm A, body segment 5, counting back from the head: low byte of the screen address.","t":"byte","b":[142],"x":[13946]},{"a":9811,"l":"worm_a_cell5_hi","c":"Worm A, cell 5 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13972]},{"a":9812,"l":"worm_a_cell6","c":"Worm A, body segment 6, counting back from the head: low byte of the screen address.","t":"byte","b":[142],"x":[13949]},{"a":9813,"l":"worm_a_cell6_hi","c":"Worm A, cell 6 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13975]},{"a":9814,"l":"worm_a_cell7","c":"Worm A, its tail, the cell cleared or given an egg at the next step: low byte of the screen address.","t":"byte","b":[142],"x":[13138,13952]},{"a":9815,"l":"worm_a_cell7_hi","c":"Worm A, cell 7 of 7 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13143,13978]},{"a":9816,"l":"worm_b_head","c":"Worm B: five cells, which leaves a space behind it and moves from the third level of each cycle. Its 5 cells as screen addresses, low byte first, head first and tail last (10 bytes, $2658-$2661). step_worm_b ($33D2) draws the head as character $43 and the rest as $44, and each step shifts the list down one cell. reset_worms ($3669) puts every cell at $0755, so the worm starts coiled on one square.","t":"byte","b":[85],"x":[13289,13310,13341,13355,13385,13998]},{"a":9817,"l":"worm_b_head_hi","c":"Worm B: high byte of the head's screen address (the low byte is at $2658).","t":"byte","b":[7],"x":[13316,13347,13360,13390,14015]},{"a":9818,"l":"worm_b_cell1","c":"Worm B, body segment 1, counting back from the head: low byte of the screen address.","t":"byte","b":[85],"x":[13292,13365,14001]},{"a":9819,"l":"worm_b_cell1_hi","c":"Worm B, cell 1 of 4 behind the head: high byte of the screen address.","t":"byte","b":[7],"x":[13370,14018]},{"a":9820,"l":"worm_b_cell2","c":"Worm B, body segment 2, counting back from the head: low byte of the screen address.","t":"byte","b":[85],"x":[14004]},{"a":9821,"l":"worm_b_cell2_hi","c":"Worm B, cell 2 of 4 behind the head: high byte of the screen address.","t":"byte","b":[7],"x":[14021]},{"a":9822,"l":"worm_b_cell3","c":"Worm B, body segment 3, counting back from the head: low byte of the screen address.","t":"byte","b":[85],"x":[14007]},{"a":9823,"l":"worm_b_cell3_hi","c":"Worm B, cell 3 of 4 behind the head: high byte of the screen address.","t":"byte","b":[7],"x":[14024]},{"a":9824,"l":"worm_b_cell4","c":"Worm B, its tail, the cell cleared or given an egg at the next step: low byte of the screen address.","t":"byte","b":[85],"x":[13271,14010]},{"a":9825,"l":"worm_b_cell4_hi","c":"Worm B, cell 4 of 4 behind the head: high byte of the screen address.","t":"byte","b":[7],"x":[13276,14027]},{"a":9826,"l":"worm_c_head","c":"Worm C: five cells, which leaves a space behind it and moves on every level. Its 5 cells as screen addresses, low byte first, head first and tail last (10 bytes, $2662-$266B). step_worm_c ($3457) draws the head as character $43 and the rest as $44, and each step shifts the list down one cell. reset_worms ($3669) puts every cell at $04CB, so the worm starts coiled on one square.","t":"byte","b":[203],"x":[13422,13443,13474,13488,13518,14035]},{"a":9827,"l":"worm_c_head_hi","c":"Worm C: high byte of the head's screen address (the low byte is at $2662).","t":"byte","b":[4],"x":[13449,13480,13493,13523,13981]},{"a":9828,"l":"worm_c_cell1","c":"Worm C, body segment 1, counting back from the head: low byte of the screen address.","t":"byte","b":[203],"x":[13425,13498,14032]},{"a":9829,"l":"worm_c_cell1_hi","c":"Worm C, cell 1 of 4 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13503,13984]},{"a":9830,"l":"worm_c_cell2","c":"Worm C, body segment 2, counting back from the head: low byte of the screen address.","t":"byte","b":[203],"x":[14038]},{"a":9831,"l":"worm_c_cell2_hi","c":"Worm C, cell 2 of 4 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13987]},{"a":9832,"l":"worm_c_cell3","c":"Worm C, body segment 3, counting back from the head: low byte of the screen address.","t":"byte","b":[203],"x":[14041]},{"a":9833,"l":"worm_c_cell3_hi","c":"Worm C, cell 3 of 4 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13990]},{"a":9834,"l":"worm_c_cell4","c":"Worm C, its tail, the cell cleared or given an egg at the next step: low byte of the screen address.","t":"byte","b":[203],"x":[13404,14044]},{"a":9835,"l":"worm_c_cell4_hi","c":"Worm C, cell 4 of 4 behind the head: high byte of the screen address.","t":"byte","b":[4],"x":[13409,13993]},{"a":9836,"l":"worm_d_head","c":"Worm D: five cells, which leaves a space behind it and moves on every level. Its 5 cells as screen addresses, low byte first, head first and tail last (10 bytes, $266C-$2675). step_worm_d ($34DC) draws the head as character $43 and the rest as $44, and each step shifts the list down one cell. reset_worms ($3669) puts every cell at $0575, so the worm starts coiled on one square.","t":"byte","b":[117],"x":[13555,13576,13607,13621,13651,14049]},{"a":9837,"l":"worm_d_head_hi","c":"Worm D: high byte of the head's screen address (the low byte is at $266C).","t":"byte","b":[5],"x":[13582,13613,13626,13656,14066]},{"a":9838,"l":"worm_d_cell1","c":"Worm D, body segment 1, counting back from the head: low byte of the screen address.","t":"byte","b":[117],"x":[13558,13631,14052]},{"a":9839,"l":"worm_d_cell1_hi","c":"Worm D, cell 1 of 4 behind the head: high byte of the screen address.","t":"byte","b":[5],"x":[13636,14069]},{"a":9840,"l":"worm_d_cell2","c":"Worm D, body segment 2, counting back from the head: low byte of the screen address.","t":"byte","b":[117],"x":[14055]},{"a":9841,"l":"worm_d_cell2_hi","c":"Worm D, cell 2 of 4 behind the head: high byte of the screen address.","t":"byte","b":[5],"x":[14072]},{"a":9842,"l":"worm_d_cell3","c":"Worm D, body segment 3, counting back from the head: low byte of the screen address.","t":"byte","b":[117],"x":[14058]},{"a":9843,"l":"worm_d_cell3_hi","c":"Worm D, cell 3 of 4 behind the head: high byte of the screen address.","t":"byte","b":[5],"x":[14075]},{"a":9844,"l":"worm_d_cell4","c":"Worm D, its tail, the cell cleared or given an egg at the next step: low byte of the screen address.","t":"byte","b":[117],"x":[13537,14061]},{"a":9845,"l":"worm_d_cell4_hi","c":"Worm D, cell 4 of 4 behind the head: high byte of the screen address.","t":"byte","b":[5],"x":[13542,14078]},{"a":9846,"l":"worm_e_head","c":"Worm E: five cells, which lays an egg where its tail was and moves on every level. Its 5 cells as screen addresses, low byte first, head first and tail last (10 bytes, $2676-$267F). step_worm_e ($3561) draws the head as character $43 and the rest as $44, and each step shifts the list down one cell. reset_worms ($3669) puts every cell at $06FB, so the worm starts coiled on one square.","t":"byte","b":[251],"x":[13688,13709,13740,13754,13784,14086]},{"a":9847,"l":"worm_e_head_hi","c":"Worm E: high byte of the head's screen address (the low byte is at $2676).","t":"byte","b":[6],"x":[13715,13746,13759,13789,14103]},{"a":9848,"l":"worm_e_cell1","c":"Worm E, body segment 1, counting back from the head: low byte of the screen address.","t":"byte","b":[251],"x":[13691,13764,14083]},{"a":9849,"l":"worm_e_cell1_hi","c":"Worm E, cell 1 of 4 behind the head: high byte of the screen address.","t":"byte","b":[6],"x":[13769,14100]},{"a":9850,"l":"worm_e_cell2","c":"Worm E, body segment 2, counting back from the head: low byte of the screen address.","t":"byte","b":[251],"x":[14089]},{"a":9851,"l":"worm_e_cell2_hi","c":"Worm E, cell 2 of 4 behind the head: high byte of the screen address.","t":"byte","b":[6],"x":[14106]},{"a":9852,"l":"worm_e_cell3","c":"Worm E, body segment 3, counting back from the head: low byte of the screen address.","t":"byte","b":[251],"x":[14092]},{"a":9853,"l":"worm_e_cell3_hi","c":"Worm E, cell 3 of 4 behind the head: high byte of the screen address.","t":"byte","b":[6],"x":[14109]},{"a":9854,"l":"worm_e_cell4","c":"Worm E, its tail, the cell cleared or given an egg at the next step: low byte of the screen address.","t":"byte","b":[251],"x":[13670,14095]},{"a":9855,"l":"worm_e_cell4_hi","c":"Worm E, cell 4 of 4 behind the head: high byte of the screen address.","t":"byte","b":[6],"x":[13675,14112]},{"a":9856,"l":"worm_direction","c":"The direction the worms try next, 1 to 4: 1 right, 2 left, 3 up, 4 down (try_worm_step at $32EF). One variable for every worm and the treasure: next_worm_direction ($333D) steps it on before each try, so a worm turns at every step and the order of the turns depends on how many tries every mover before it used. Its loaded value is 3.","t":"byte","b":[3],"x":[13117,13120,13129,13192,13325,13458,13591,13724,14735]},{"a":9857,"l":"worm_tries","c":"How many directions the current worm has tried this step, counted by each mover from 0. At 5 the mover gives up and puts the worm's head back on its start cell, which is how a worm boxed in by walls, other worms or its own body escapes.","t":"byte","b":[2],"x":[13135,13167,13170,13268,13300,13303,13401,13433,13436,13534,13566,13569,13667,13699,13702,14691,14710,14713]},{"a":9858,"l":"maze_number","c":"Which maze the current level uses, 1 to 3: level_complete ($390E) steps it on and copies maze 1, 2 or 3 to the screen. The start of a game sets it to 1 ($3BE8).","t":"byte","b":[1],"x":[14606,14609,14618,15336]},{"a":9859,"l":"irq_count","c":"Counts the game's interrupts, 0 to 6: irq_handler ($3CB3) animates the characters on the seventh and starts again from 0.","t":"byte","b":[0],"x":[15539,15542,15551]},{"a":9860,"l":"treasure_value","c":"What the treasure is worth if it is collected now: 1 nothing, 2 ten points, 3 a hundred (collect_treasure at $373B). step_treasure ($39DF) steps it on, 1 to 3, every pass of the main loop from the second level, so the value a player gets is in practice a matter of chance: the \"MYSTERY BONUS\" of the title. Set to 1 at the start of a game.","t":"byte","b":[1],"x":[14139,14815,14818,14827,15253]},{"a":9861,"l":"lives","c":"Lives left, 3 at the start of a game ($3B9D). The main loop takes one at each death ($3C34) and ends the game at 0.","t":"byte","b":[3],"x":[15095,15261,15412,15415]},{"a":9862,"l":"worm_probe","c":"The screen address a worm or the treasure is about to step to, low byte first: the mover puts the head here, try_worm_step ($32EF) moves it one cell and cell_is_free ($3C93) reads the character there.","t":"byte","b":[247],"x":[13043,13046,13063,13066,13084,13089,13101,13106,13180,13205,13313,13338,13446,13471,13579,13604,13712,13737,14723,14748,15507]},{"a":9863,"l":"worm_probe_hi","c":"High byte of the address a worm or the treasure is about to step to (low byte at $2686).","t":"byte","b":[4],"x":[13015,13053,13073,13094,13111,13186,13211,13319,13344,13452,13477,13585,13610,13718,13743,14729,14754,15512]},{"a":9864,"l":"level_stage","c":"Where the level stands in the cycle of four that move_creatures ($3A46) follows: 1 three worms (C, D and E), 2 those three and the treasure, 3 worm B as well, 4 all five. level_complete ($3884) adds 1; at 5, move_creatures shortens the step delay and starts again at 1.","t":"byte","b":[1],"x":[14468,14918,14967,15256]},{"a":9865,"l":"step_delay","c":"The main loop's wait per pass, as a starting value for the jiffy clock's low byte $A2: the loop ($3C56) waits while $A2 is $80 or more, so it waits until $A2 counts up past $FF. $FA at the start ($3BAF), six jiffies, a tenth of a second; each time level_stage reaches 5, once every four levels, move_creatures ($3A72) adds 1, so each cycle of four levels is one jiffy faster per step. At $00 (the 25th level) the loop stops waiting, and it would wait again only from $80.","t":"byte","b":[250],"x":[14389,14962,15279,15446]},{"a":9866,"l":"treasure_pos","c":"The treasure's screen address, low byte first. It starts at $0755 and returns there after each collection ($3A29) and when it is boxed in ($39AB).","t":"byte","b":[85],"x":[14680,14694,14720,14751,14765,14773,14853,14873,14891,15243]},{"a":9867,"l":"treasure_pos_hi","c":"High byte of the treasure's screen address (low byte at $268A).","t":"byte","b":[7],"x":[14685,14699,14726,14757,14770,14778,14858,14878,14896,15248]},{"a":9868,"c":"One byte nothing reads or writes, between the treasure's position and its timer.","t":"byte","b":[0]},{"a":9869,"l":"treasure_timer","c":"Counts down after the treasure is collected: collect_treasure ($373B) sets it to 200, and while it is 180 or more step_treasure shows the value character ($2691) where the treasure was; at 170 it clears that cell and sends the treasure back to its start with the next picture. At 0 the treasure wanders again.","t":"byte","b":[0],"x":[14153,14183,14204,14663,14830,14840,14843,15269]},{"a":9870,"l":"treasure_char","c":"The character the treasure is drawn with, $47 or $49; the main loop compares the cell under the player with it ($3C1C). Each collection adds 2, and $4B goes back to $47, so the two pictures alternate. The interrupt animates both by swapping their rows with $48 and $4A.","t":"byte","b":[71],"x":[14783,14899,14902,14905,14914,15274,15388]},{"a":9871,"l":"treasure_note","c":"The treasure's sound: an index, 1 to 29, into title_tune_voice1 ($3E80), stepped on each time the treasure moves, whose byte move_treasure ($39D5) writes to voice 2's pitch.","t":"byte","b":[22],"x":[14660,14790,14793,14802,14805]},{"a":9872,"l":"egg_count","c":"Eggs collected on this level. The main loop adds one per egg and writes it to voice 1's pitch, so each egg sounds higher; at 255 the level is complete ($3C12). level_complete ($389B) clears it.","t":"byte","b":[0],"x":[14493,15266,15369,15372]},{"a":9873,"l":"treasure_score_char","c":"The character shown where the treasure was collected, set by collect_treasure ($373B) from its value: $4D for nothing, $4C for ten, $4B for a hundred.","t":"byte","b":[77],"x":[14158,14178,14199,14863]},{"a":9874,"l":"bonus_note","c":"Index into bonus_tune ($3DB8) of the next note of the bonus run's tune, 0 to 254, stepped by bonus_tune_step ($3D5C).","t":"byte","b":[151],"x":[15701,15708,15724]},{"a":9875,"l":"a_2693","c":"Cleared with the bonus tune's index by bonus_tune_reset ($3D53); nothing reads it.","t":"byte","b":[0],"x":[15704]},{"a":9876,"c":"24 bytes nothing reads or writes, all zero, between the game's variables and its strings.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9884,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9892,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9900,"l":"str_press_fire","c":"\"PRESS FIRE TO START\", 19 screen codes (and a 20th, a space, that nothing copies), shown under the high-score table by game_over_screen ($32A0).","t":"byte","b":[16,18,5,19,19,32,6,9],"x":[12960]},{"a":9908,"t":"byte","b":[18,5,32,20,15,32,19,20]},{"a":9916,"t":"byte","b":[1,18,20,32]},{"a":9920,"l":"str_get_ready","c":"\"GET READY\" in reversed screen codes, shown in the middle of the maze after \"BONUS RUN\" (bonus_run, $37C7) and again when the next level is announced (level_complete, $38A5).","t":"byte","b":[135,133,148,160,146,133,129,132],"x":[14279,14501]},{"a":9928,"t":"byte","b":[153]},{"a":9929,"c":"A space after \"GET READY\", before \"LEVEL\"; nothing copies it.","t":"byte","b":[32]},{"a":9930,"l":"str_level","c":"\"LEVEL\" and four reversed spaces, nine reversed screen codes, written letter by letter after the bonus run by level_complete ($38D0); the level's two digits then go over the last two at $05CC.","t":"byte","b":[140,133,150,133,140,160,160,160],"x":[14544]},{"a":9938,"t":"byte","b":[160]},{"a":9939,"c":"A space after \"LEVEL\" and its four reversed spaces, before \"BONUS RUN\"; nothing copies it.","t":"byte","b":[32]},{"a":9940,"l":"str_bonus_run","c":"\"BONUS RUN\", nine screen codes, shown in the middle of the maze at the start of the bonus run ($3793).","t":"byte","b":[2,15,14,21,19,32,18,21],"x":[14227]},{"a":9948,"t":"byte","b":[14,32]},{"a":9950,"l":"leftover_basic_arrays_2","c":"More of the leftover BASIC program's arrays, all zero, up to the character set: M$(10) at $2724, M(10) at $274C, M1(10) at $278A and a second header for M(10) at $27E6. Nothing reads them.","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9958,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9966,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9974,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9982,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9990,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":9998,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10006,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10014,"t":"byte","b":[0,0,0,0,0,0,77,128]},{"a":10022,"t":"byte","b":[40,0,1,0,11,0,0,0]},{"a":10030,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10038,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10046,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10054,"t":"byte","b":[0,0,0,0,0,0,77,0]},{"a":10062,"t":"byte","b":[62,0,1,0,11,0,0,0]},{"a":10070,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10078,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10086,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10094,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10102,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10110,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10118,"t":"byte","b":[0,0,0,0,77,49,62,0]},{"a":10126,"t":"byte","b":[1,0,11,0,0,0,0,0]},{"a":10134,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10142,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10150,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10158,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10166,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10174,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10182,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10190,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10198,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10206,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10214,"t":"byte","b":[77,0,62,0,1,0,11,0]},{"a":10222,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10230,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10238,"t":"byte","b":[0,0]},{"a":10240,"l":"charset","c":"The game's character set: 256 characters of 8 bytes, $2800-$2FFF, which the start-up selects with $D018 = $1A ($3B20). Character $00 is a solid block, the wall the player leaves behind in the bonus run ($3842); $01-$1A are an italic alphabet, A to Z, used by the title and the high-score table.","t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":10248,"t":"byte","b":[62,125,99,119,111,67,35,99]},{"a":10256,"t":"byte","b":[126,125,99,118,110,67,63,126]},{"a":10264,"t":"byte","b":[62,125,99,96,96,67,63,62]},{"a":10272,"t":"byte","b":[126,125,99,99,99,67,63,126]},{"a":10280,"t":"byte","b":[126,125,96,118,110,64,63,127]},{"a":10288,"t":"byte","b":[126,125,96,118,110,64,32,96]},{"a":10296,"t":"byte","b":[62,125,96,100,111,67,63,62]},{"a":10304,"t":"byte","b":[98,97,99,119,111,67,35,99]},{"a":10312,"t":"byte","b":[126,124,24,16,8,24,62,126]},{"a":10320,"t":"byte","b":[126,124,8,4,12,12,60,124]},{"a":10328,"t":"byte","b":[98,100,104,112,104,76,38,99]},{"a":10336,"t":"byte","b":[96,96,96,96,96,64,63,127]},{"a":10344,"t":"byte","b":[98,117,123,99,99,67,35,99]},{"a":10352,"t":"byte","b":[98,113,123,119,111,71,35,99]},{"a":10360,"t":"byte","b":[62,125,99,99,99,67,63,62]},{"a":10368,"t":"byte","b":[126,125,99,119,110,64,32,96]},{"a":10376,"t":"byte","b":[60,124,98,118,110,78,63,61]},{"a":10384,"t":"byte","b":[126,125,99,119,110,76,38,99]},{"a":10392,"t":"byte","b":[62,125,96,118,47,3,63,126]},{"a":10400,"t":"byte","b":[126,125,24,20,12,28,28,28]},{"a":10408,"t":"byte","b":[98,97,99,99,99,67,63,62]},{"a":10416,"t":"byte","b":[98,97,99,99,99,22,28,8]},{"a":10424,"t":"byte","b":[98,97,99,99,107,95,55,99]},{"a":10432,"t":"byte","b":[64,97,50,20,12,22,35,65]},{"a":10440,"t":"byte","b":[98,97,99,99,46,28,28,28]},{"a":10448,"t":"byte","b":[126,125,2,4,8,16,63,127]},{"a":10456,"l":"maze_wall_chars","c":"Characters $1B-$25, the maze walls, with the space $20 among them: $1B a wall going up and down, $1D one going across, $1C, $1E, $1F and $21 corners, $22-$25 the ends of walls. colour_maze ($35E8) gives their cells the multicolour flag, and their pairs of bits then draw in the two shared colours $D022 and $D023, both blue, which the death sequence flashes ($3AD8).","t":"byte","b":[20,20,40,40,20,20,40,40]},{"a":10464,"t":"byte","b":[0,0,42,42,22,22,40,40]},{"a":10472,"t":"byte","b":[0,0,102,102,102,102,0,0]},{"a":10480,"t":"byte","b":[0,0,168,168,148,148,40,40]},{"a":10488,"t":"byte","b":[20,20,104,104,84,84,0,0]},{"a":10496,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10504,"t":"byte","b":[20,20,41,41,21,21,0,0]},{"a":10512,"t":"byte","b":[0,0,0,0,20,20,40,40]},{"a":10520,"t":"byte","b":[20,20,40,40,0,0,0,0]},{"a":10528,"t":"byte","b":[0,0,144,144,144,144,0,0]},{"a":10536,"t":"byte","b":[0,0,9,9,9,9,0,0]},{"a":10544,"l":"logo_chars","c":"Characters $26-$2F: the rounded corners, curves and straight pieces that the title screen builds its big SQUIRM logo from, on rows 3 to 5.","t":"byte","b":[63,64,128,128,128,128,128,128]},{"a":10552,"t":"byte","b":[252,2,1,1,1,1,1,1]},{"a":10560,"t":"byte","b":[128,128,128,128,128,128,64,63]},{"a":10568,"t":"byte","b":[1,1,1,1,1,1,2,252]},{"a":10576,"t":"byte","b":[128,128,128,64,63,0,0,0]},{"a":10584,"t":"byte","b":[0,0,0,0,252,2,1,1]},{"a":10592,"t":"byte","b":[224,16,8,8,8,8,8,8]},{"a":10600,"t":"byte","b":[8,8,136,104,24,12,18,227]},{"a":10608,"t":"byte","b":[128,128,128,128,128,128,128,128]},{"a":10616,"t":"byte","b":[1,1,1,1,1,1,1,1]},{"a":10624,"l":"digit_chars","c":"Characters $30-$39: bold digits 0 to 9, used by the high-score table's ranks and scores and the title's \"10 POINTS\".","t":"byte","b":[62,127,103,111,123,115,127,62]},{"a":10632,"t":"byte","b":[28,60,124,28,28,28,127,127]},{"a":10640,"t":"byte","b":[62,127,3,63,126,96,127,127]},{"a":10648,"t":"byte","b":[62,127,99,6,6,99,127,62]},{"a":10656,"t":"byte","b":[96,96,96,96,110,127,127,14]},{"a":10664,"t":"byte","b":[127,127,96,126,127,3,127,126]},{"a":10672,"t":"byte","b":[63,127,96,126,127,99,127,62]},{"a":10680,"t":"byte","b":[127,127,7,14,28,56,112,96]},{"a":10688,"t":"byte","b":[62,127,99,62,62,99,127,62]},{"a":10696,"t":"byte","b":[63,127,99,127,63,3,3,3]},{"a":10704,"l":"logo_chars_2","c":"Characters $3A-$3F: six more pieces of the title's logo, bars and diagonals.","t":"byte","b":[255,24,24,24,24,24,24,24]},{"a":10712,"t":"byte","b":[24,24,24,24,24,24,24,255]},{"a":10720,"t":"byte","b":[254,1,1,1,1,1,1,254]},{"a":10728,"t":"byte","b":[224,16,8,4,4,2,2,1]},{"a":10736,"t":"byte","b":[128,192,160,144,136,132,130,129]},{"a":10744,"t":"byte","b":[1,3,5,9,17,33,65,129]},{"a":10752,"l":"arrow_frame_a","c":"Character $40, the first of three frames of an arrow pointing right. The interrupt ($3CC4) moves the three frames round one place every seventh call, but nothing ever draws characters $40-$42, so the animation is never seen.","t":"byte","b":[0,12,6,255,255,6,12,0],"x":[15556,15563]},{"a":10760,"l":"arrow_frame_b","c":"Character $41, the second frame of the unused arrow: its shape moves to $40 and $42's moves here at each turn of the interrupt's animation.","t":"byte","b":[0,4,198,255,255,198,4,0],"x":[15560,15569]},{"a":10768,"l":"arrow_frame_c","c":"Character $42, the third frame of the unused arrow, which takes $40's shape at each turn.","t":"byte","b":[0,196,198,255,255,198,196,0],"x":[15566,15573]},{"a":10776,"l":"worm_head_char","c":"Character $43, a worm's head: a face with two horns. Each worm's mover draws it on the head's cell (step_worm_a, $33CE).","t":"byte","b":[195,60,90,153,189,255,102,60]},{"a":10784,"l":"worm_body_char","c":"Character $44, a worm's body segment, a round blob. Every cell behind a worm's head is drawn with it.","t":"byte","b":[0,28,50,125,127,127,62,28]},{"a":10792,"l":"worm_body_char_2","c":"Character $45, the same blob as $44. Only the title screen uses it, alternating with $44 to draw a worm.","t":"byte","b":[0,28,50,125,127,127,62,28]},{"a":10800,"l":"egg_char","c":"Character $46, an egg: a few scattered pixels. The interrupt rolls each of its eight rows one pixel to the left every seventh call ($3CF5), so the eggs shimmer.","t":"byte","b":[0,0,12,0,6,0,0,0],"x":[15605,15610,15613]},{"a":10808,"l":"treasure_a_frame1","c":"Character $47, the first treasure in one pose. The interrupt swaps its shape with $48's every seventh call ($3CD8), so it wobbles between the two.","t":"byte","b":[0,0,195,60,90,255,60,24],"x":[15576,15583]},{"a":10816,"l":"treasure_a_frame2","c":"Character $48, the first treasure's other pose. Nothing draws $48 itself: it holds the pose $47 does not show.","t":"byte","b":[60,90,255,60,24,60,24,60],"x":[15580,15587]},{"a":10824,"l":"treasure_b_frame1","c":"Character $49, the second treasure, which swaps shapes with $4A every seventh call of the interrupt ($3CE6).","t":"byte","b":[0,255,24,60,102,118,60,0],"x":[15590,15597]},{"a":10832,"l":"treasure_b_frame2","c":"Character $4A, the second treasure's other pose, held here while $49 shows the first.","t":"byte","b":[0,24,24,60,110,102,60,0],"x":[15594,15601]},{"a":10840,"l":"value_100_char","c":"Character $4B, \"100\" in small digits, shown for a moment where a treasure worth a hundred was collected (collect_treasure, $3775).","t":"byte","b":[0,182,201,201,201,182,0,255]},{"a":10848,"l":"value_10_char","c":"Character $4C, \"10\" in small digits, shown where a treasure worth ten points was collected.","t":"byte","b":[0,78,89,85,83,78,0,255]},{"a":10856,"l":"value_0_char","c":"Character $4D, the picture shown where a treasure worth nothing was collected.","t":"byte","b":[0,0,74,82,98,60,0,255]},{"a":10864,"l":"spinner_frame1","c":"Character $4E, the first of eight frames of a small spinning figure. rotate_spinner ($2508) moves every frame down one character each seventh interrupt, so each of $4E-$55 plays the eight frames in turn. The player is $51, the lives on the bottom line $4E-$50, and the title frames its joystick line with all eight.","t":"byte","b":[102,153,60,90,255,24,0,0],"x":[9482,9489]},{"a":10872,"l":"spinner_frame2","c":"Character $4F, the second frame of the spinning figure; the second life on the bottom line.","t":"byte","b":[102,153,60,90,255,24,24,0],"x":[9486,9495]},{"a":10880,"l":"spinner_frame3","c":"Character $50, the third frame of the spinning figure; the third life, the first the game takes away.","t":"byte","b":[0,102,24,60,90,255,24,24],"x":[9492,9501]},{"a":10888,"l":"player_char","c":"Character $51, the player, one of the eight frames of the spinning figure; drawn on the player's cell by the main loop ($3C52).","t":"byte","b":[0,0,102,24,60,90,255,24],"x":[9498,9507]},{"a":10896,"l":"spinner_frame5","c":"Character $52, the fifth frame of the spinning figure, seen only in the title's border.","t":"byte","b":[0,102,24,60,90,255,24,36],"x":[9504,9513]},{"a":10904,"l":"spinner_frame6","c":"Character $53, the sixth frame of the spinning figure.","t":"byte","b":[102,24,60,90,255,24,24,36],"x":[9510,9519]},{"a":10912,"l":"spinner_frame7","c":"Character $54, the seventh frame of the spinning figure.","t":"byte","b":[102,153,60,90,255,24,24,24],"x":[9516,9525]},{"a":10920,"l":"spinner_frame8","c":"Character $55, the eighth frame of the spinning figure, which takes the first frame's shape at each turn ($2539).","t":"byte","b":[102,153,60,90,255,24,24,0],"x":[9522,9529]},{"a":10928,"l":"unused_chars","c":"Characters $56-$59: a round shape, a small curl, two corner dots and a blank. Nothing the game draws uses them.","t":"byte","b":[135,15,39,115,103,119,62,28]},{"a":10936,"t":"byte","b":[0,12,6,50,38,22,12,0]},{"a":10944,"t":"byte","b":[129,0,0,0,0,0,0,129]},{"a":10952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10960,"l":"tk_logo_char","c":"Character $5A, the letters TK, the initials of the author Tony Kelly, in the bottom right corner of the screen, the last character of the bottom status line ($1040).","t":"byte","b":[255,6,213,211,213,214,214,255]},{"a":10968,"l":"box_char","c":"Character $5B, an empty box: the three boxes on the high-score screen where a new name is typed.","t":"byte","b":[255,129,129,129,129,129,129,255]},{"a":10976,"l":"unused_chars_2","c":"Characters $5C and $5D: a ghost-like figure and a blank, which nothing draws.","t":"byte","b":[60,90,153,126,62,124,62,124]},{"a":10984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":10992,"l":"assembler_opcodes","c":"From character $5E to $7F, bytes that were never drawn over: part of the opcode table of the assembler that was in memory when the game was saved (see leftover_assembler_basic, $080E). Each entry is a mnemonic, an addressing mode and the opcode, for example \"AND\", \"IM\" and $29. Nothing draws these characters.","t":"byte","b":[40,0,65,78,68,73,205,41]},{"a":11000,"t":"byte","b":[1,82,79,76,193,42,0,66]},{"a":11008,"t":"byte","b":[73,212,44,2,65,78,196,45]},{"a":11016,"t":"byte","b":[2,82,79,204,46,2,66,77]},{"a":11024,"t":"byte","b":[201,48,1,65,78,68,73,217]},{"a":11032,"t":"byte","b":[49,1,65,78,68,90,216,53]},{"a":11040,"t":"byte","b":[1,82,79,76,90,216,54,1]},{"a":11048,"t":"byte","b":[83,69,195,56,0,65,78,68]},{"a":11056,"t":"byte","b":[217,57,2,65,78,68,216,61]},{"a":11064,"t":"byte","b":[2,82,79,76,216,62,2,82]},{"a":11072,"t":"byte","b":[84,201,64,0,69,79,82,73]},{"a":11080,"t":"byte","b":[216,65,1,69,79,82,218,69]},{"a":11088,"t":"byte","b":[1,76,83,82,218,70,1,80]},{"a":11096,"t":"byte","b":[72,193,72,0,69,79,82,73]},{"a":11104,"t":"byte","b":[205,73,1,76,83,82,193,74]},{"a":11112,"t":"byte","b":[0,74,77,208,76,2,69,79]},{"a":11120,"t":"byte","b":[210,77,2,76,83,210,78,2]},{"a":11128,"t":"byte","b":[66,86,195,80,1,69,79,82]},{"a":11136,"t":"byte","b":[73,217,81,1,69,79,82,90]},{"a":11144,"t":"byte","b":[216,85,1,76,83,82,90,216]},{"a":11152,"t":"byte","b":[86,1,67,76,201,88,0,69]},{"a":11160,"t":"byte","b":[79,82,217,89,2,69,79,82]},{"a":11168,"t":"byte","b":[216,93,2,76,83,82,216,94]},{"a":11176,"t":"byte","b":[2,82,84,211,96,0,65,68]},{"a":11184,"t":"byte","b":[67,73,216,97,1,65,68,67]},{"a":11192,"t":"byte","b":[218,101,1,82,79,82,218,102]},{"a":11200,"t":"byte","b":[1,80,76,193,104,0,65,68]},{"a":11208,"t":"byte","b":[67,73,205,105,1,82,79,82]},{"a":11216,"t":"byte","b":[193,106,0,74,77,80,73,193]},{"a":11224,"t":"byte","b":[108,2,65,68,195,109,2,82]},{"a":11232,"t":"byte","b":[79,210,110,2,66,86,211,112]},{"a":11240,"t":"byte","b":[1,65,68,67,73,217,113,1]},{"a":11248,"t":"byte","b":[65,68,67,90,216,117,1,82]},{"a":11256,"t":"byte","b":[79,82,90,216,118,1,83,69]},{"a":11264,"l":"assembler_opcode_tail","c":"Character $80, the end of the assembler's table entry for ADC (opcode $7D), not drawn over.","t":"byte","b":[201,120,0,65,68,67,0,0]},{"a":11272,"l":"reversed_letters","c":"Characters $81-$9A: a plain block alphabet, A to Z, drawn light on dark, for the status lines, \"GET READY\", \"LEVEL\" and the title's reversed text. They are the letters $01-$1A with bit 7 set, which is how the name entry picks a letter ($315A).","t":"byte","b":[255,195,189,189,129,189,189,255]},{"a":11280,"t":"byte","b":[255,131,189,189,131,189,131,255]},{"a":11288,"t":"byte","b":[255,195,189,191,191,189,195,255]},{"a":11296,"t":"byte","b":[255,131,189,189,189,189,131,255]},{"a":11304,"t":"byte","b":[255,129,191,191,135,191,129,255]},{"a":11312,"t":"byte","b":[255,129,191,191,135,191,191,255]},{"a":11320,"t":"byte","b":[255,195,189,183,177,189,195,255]},{"a":11328,"t":"byte","b":[255,189,189,129,189,189,189,255]},{"a":11336,"t":"byte","b":[255,193,247,247,247,247,193,255]},{"a":11344,"t":"byte","b":[255,193,247,247,247,247,199,255]},{"a":11352,"t":"byte","b":[255,185,183,175,143,183,185,255]},{"a":11360,"t":"byte","b":[255,191,191,191,191,191,129,255]},{"a":11368,"t":"byte","b":[255,189,153,165,189,189,189,255]},{"a":11376,"t":"byte","b":[255,189,157,173,181,185,189,255]},{"a":11384,"t":"byte","b":[255,195,189,189,189,189,195,255]},{"a":11392,"t":"byte","b":[255,131,189,189,131,191,191,255]},{"a":11400,"t":"byte","b":[255,199,187,187,187,179,193,255]},{"a":11408,"t":"byte","b":[255,131,189,189,131,183,187,255]},{"a":11416,"t":"byte","b":[255,195,189,191,195,253,131,255]},{"a":11424,"t":"byte","b":[255,129,231,231,231,231,231,255]},{"a":11432,"t":"byte","b":[255,189,189,189,189,189,195,255]},{"a":11440,"t":"byte","b":[255,189,189,189,189,219,231,255]},{"a":11448,"t":"byte","b":[255,189,189,189,165,153,189,255]},{"a":11456,"t":"byte","b":[255,189,219,231,231,219,189,255]},{"a":11464,"t":"byte","b":[255,189,189,219,231,231,231,255]},{"a":11472,"t":"byte","b":[255,129,251,247,239,223,129,255]},{"a":11480,"l":"assembler_opcodes_2","c":"Characters $9B-$9F, more of the assembler's opcode table (the LDA and LDX entries), not drawn over.","t":"byte","b":[76,68,65,90,216,181,1,76]},{"a":11488,"t":"byte","b":[68,88,90,217,182,1,67,76]},{"a":11496,"t":"byte","b":[214,184,0,76,68,65,217,185]},{"a":11504,"t":"byte","b":[2,84,83,216,186,0,76,68]},{"a":11512,"t":"byte","b":[89,216,188,2,76,68,65,216]},{"a":11520,"l":"reversed_space","c":"Character $A0, a solid block, the reversed space that fills the status lines; the death fall stops when the cell below holds it ($3AB3).","t":"byte","b":[255,255,255,255,255,255,255,255]},{"a":11528,"l":"assembler_opcodes_3","c":"Characters $A1-$AF, more of the assembler's opcode table (CPY, CMP, DEC, INY, DEX, BNE, CLD and CPX), not drawn over.","t":"byte","b":[67,80,89,73,205,192,1,67]},{"a":11536,"t":"byte","b":[77,80,73,216,193,1,67,80]},{"a":11544,"t":"byte","b":[89,218,196,1,67,77,80,218]},{"a":11552,"t":"byte","b":[197,1,68,69,67,218,198,1]},{"a":11560,"t":"byte","b":[73,78,217,200,0,67,77,80]},{"a":11568,"t":"byte","b":[73,205,201,1,68,69,216,202]},{"a":11576,"t":"byte","b":[0,67,80,217,204,2,67,77]},{"a":11584,"t":"byte","b":[208,205,2,68,69,195,206,2]},{"a":11592,"t":"byte","b":[66,78,197,208,1,67,77,80]},{"a":11600,"t":"byte","b":[73,217,209,1,67,77,80,90]},{"a":11608,"t":"byte","b":[216,213,1,68,69,67,90,216]},{"a":11616,"t":"byte","b":[214,1,67,76,196,216,0,67]},{"a":11624,"t":"byte","b":[77,80,217,217,2,67,77,80]},{"a":11632,"t":"byte","b":[216,221,2,68,69,67,216,222]},{"a":11640,"t":"byte","b":[2,67,80,88,73,205,224,1]},{"a":11648,"l":"reversed_digits","c":"Characters $B0-$B9: digits 0 to 9 drawn light on dark, for the score, the high score, the level and the bonus timer. add_score ($3724) counts in them directly.","t":"byte","b":[255,195,157,173,181,185,195,255]},{"a":11656,"t":"byte","b":[255,247,231,247,247,247,193,255]},{"a":11664,"t":"byte","b":[255,195,189,253,195,191,129,255]},{"a":11672,"t":"byte","b":[255,195,189,253,243,189,195,255]},{"a":11680,"t":"byte","b":[255,251,243,235,219,129,251,255]},{"a":11688,"t":"byte","b":[255,129,191,131,253,189,195,255]},{"a":11696,"t":"byte","b":[255,195,189,191,131,189,195,255]},{"a":11704,"t":"byte","b":[255,129,251,247,239,223,191,255]},{"a":11712,"t":"byte","b":[255,195,189,189,195,189,195,255]},{"a":11720,"t":"byte","b":[255,193,189,189,193,253,253,255]},{"a":11728,"l":"charset_noise","c":"Characters $BA-$FF: bytes of no meaning, never drawn. The last 7 bytes of character $FF are the game's code (try_cell, $2FF9).","t":"byte","b":[216,246,255,255,0,135,4,135]},{"a":11736,"t":"byte","b":[205,255,3,156,7,253,7,253]},{"a":11744,"t":"byte","b":[135,255,135,197,223,135,7,255]},{"a":11752,"t":"byte","b":[0,255,195,255,7,231,7,135]},{"a":11760,"t":"byte","b":[7,255,3,0,0,7,68,16]},{"a":11768,"t":"byte","b":[0,254,135,132,7,7,7,6]},{"a":11776,"t":"byte","b":[7,245,245,15,7,7,7,247]},{"a":11784,"t":"byte","b":[135,191,245,39,39,7,7,103]},{"a":11792,"t":"byte","b":[3,135,135,15,244,239,7,7]},{"a":11800,"t":"byte","b":[3,255,0,111,0,239,65,7]},{"a":11808,"t":"byte","b":[7,7,247,239,0,255,135,255]},{"a":11816,"t":"byte","b":[0,255,245,7,133,255,7,15]},{"a":11824,"t":"byte","b":[0,255,7,255,3,255,0,147]},{"a":11832,"t":"byte","b":[0,255,135,247,12,247,151,16]},{"a":11840,"t":"byte","b":[245,247,245,255,247,245,135,147]},{"a":11848,"t":"byte","b":[135,255,135,7,7,7,7,247]},{"a":11856,"t":"byte","b":[1,255,7,247,0,239,0,239]},{"a":11864,"t":"byte","b":[245,255,2,255,4,7,7,7]},{"a":11872,"t":"byte","b":[132,255,0,255,135,255,135,135]},{"a":11880,"t":"byte","b":[247,255,135,135,135,255,167,174]},{"a":11888,"t":"byte","b":[7,255,135,223,0,255,0,18]},{"a":11896,"t":"byte","b":[0,255,2,255,3,247,135,135]},{"a":11904,"t":"byte","b":[0,247,32,135,7,7,7,7]},{"a":11912,"t":"byte","b":[2,7,3,119,7,239,135,7]},{"a":11920,"t":"byte","b":[133,255,0,255,39,5,135,0]},{"a":11928,"t":"byte","b":[3,246,3,79,7,255,7,135]},{"a":11936,"t":"byte","b":[245,7,7,7,7,143,7,255]},{"a":11944,"t":"byte","b":[39,151,3,255,7,255,7,127]},{"a":11952,"t":"byte","b":[0,159,0,255,0,255,3,255]},{"a":11960,"t":"byte","b":[3,255,3,7,7,7,135,255]},{"a":11968,"t":"byte","b":[164,255,0,16,245,247,133,103]},{"a":11976,"t":"byte","b":[135,255,0,7,231,247,135,151]},{"a":11984,"t":"byte","b":[1,255,247,255,0,135,4,135]},{"a":11992,"t":"byte","b":[87,255,3,156,7,255,7,247]},{"a":12000,"t":"byte","b":[135,255,135,197,247,135,7,255]},{"a":12008,"t":"byte","b":[2,255,131,255,7,231,7,135]},{"a":12016,"t":"byte","b":[7,255,3,0,0,7,5,16]},{"a":12024,"t":"byte","b":[0,254,135,132,7,7,7,7]},{"a":12032,"t":"byte","b":[7,180,180,13,7,7,7,247]},{"a":12040,"t":"byte","b":[7,191,180,39,167,7,39,38]},{"a":12048,"t":"byte","b":[3,7,7,31,180,239,7,7]},{"a":12056,"t":"byte","b":[3,255,0,111,0,239,65,7]},{"a":12064,"t":"byte","b":[7,7,182,239,0,255,7,255]},{"a":12072,"t":"byte","b":[0,255,180,7,133,255,39,7]},{"a":12080,"t":"byte","b":[0,255,5,255,3,255,0,187]},{"a":12088,"t":"byte","b":[0,255,7,247,12,247,151,0]},{"a":12096,"t":"byte","b":[181,182,180,255,182,181,7,147]},{"a":12104,"t":"byte","b":[7,255,135,7,7,7,6,247]},{"a":12112,"t":"byte","b":[0,255,7,247,0,239,0,239]},{"a":12120,"t":"byte","b":[180,255,2,255,4,7,7,7]},{"a":12128,"t":"byte","b":[4,255,0,255,7,255,7,7]},{"a":12136,"t":"byte","b":[183,255,7,199,7,255,39,174]},{"a":12144,"t":"byte","b":[7,255,7,255,0,255,0,18]},{"a":12152,"t":"byte","b":[0,255,2,255,2,247,7,7]},{"a":12160,"t":"byte","b":[0,183,32,7,7,7,7,7]},{"a":12168,"t":"byte","b":[2,5,3,55,7,239,7,7]},{"a":12176,"t":"byte","b":[5,255,0,255,36,5,7,32]},{"a":12184,"t":"byte","b":[3,182,3,79,7,255,7,7]},{"a":12192,"t":"byte","b":[181,7,7,7,7,15,7,255]},{"a":12200,"t":"byte","b":[39,151,3,255,7,255,7,255]},{"a":12208,"t":"byte","b":[0,223,0,255,0,255,3,255]},{"a":12216,"t":"byte","b":[3,255,3,7,7,15,7,255]},{"a":12224,"t":"byte","b":[36,255,0,18,180,183,5,167]},{"a":12232,"t":"byte","b":[7,255,0,7,167,247,7,151]},{"a":12240,"t":"byte","b":[0,255,183,255,0,7,4,7]},{"a":12248,"t":"byte","b":[5,255,3,188,7,255,7,247]},{"a":12256,"t":"byte","b":[7,255,7,132,183,7,7,255]},{"a":12264,"t":"byte","b":[2,255,131,255,7,231,7,7]},{"a":12272,"t":"byte","b":[7,255,3,0,0,7,4,16]},{"a":12280,"t":"byte","b":[0]},{"a":12281,"l":"try_cell","c":"Ends a step of the player: reads the character at the new position (player_pos) and returns A = 0 if the player may stand there, A = 1 if not. A space or any character from $28 up may be entered: eggs, worms, the treasure. The characters below $28 but the space are walls, among them $00, the trail of the bonus run; then the player is put back on old_pos.","t":"code","b":[24],"m":"clc","x":[12325,12345,12363,12381]},{"a":12282,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12284,"t":"code","b":[177,251],"m":"lda","oa":251,"o":"(player_pos),y"},{"a":12286,"c":"Characters $28 and up, and the space, are open.","t":"code","b":[201,40],"m":"cmp","o":"#$28"},{"a":12288,"t":"code","b":[176,15],"m":"bcs","oa":12305,"o":"b_3011"},{"a":12290,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":12292,"t":"code","b":[240,11],"m":"beq","oa":12305,"o":"b_3011"},{"a":12294,"c":"A wall: back to where the player stood.","t":"code","b":[165,253],"m":"lda","oa":253,"o":"old_pos"},{"a":12296,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":12298,"t":"code","b":[165,254],"m":"lda","oa":254,"o":"old_pos_hi"},{"a":12300,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"player_pos_hi"},{"a":12302,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":12304,"t":"code","b":[96],"m":"rts"},{"a":12305,"l":"b_3011","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[12288,12292]},{"a":12307,"t":"code","b":[96],"m":"rts"},{"a":12308,"l":"step_player","c":"Moves player_pos one cell the way player_try_dir says, as the stick reads it: $FE up (40 cells back), $FD down, $F7 right, $FB left, each going on to try_cell. Fire alone, $EF, stops the player: player_dir becomes $EF and A = 0. Anything else, no direction or two at once, returns A = 1, as a wall does.","t":"code","b":[165,88],"m":"lda","oa":88,"o":"player_try_dir","x":[12415,12431]},{"a":12310,"c":"$FE: up, 40 cells back.","t":"code","b":[201,254],"m":"cmp","o":"#$FE"},{"a":12312,"t":"code","b":[208,14],"m":"bne","oa":12328,"o":"move_down"},{"a":12314,"t":"code","b":[56],"m":"sec"},{"a":12315,"t":"code","b":[165,251],"m":"lda","oa":251,"o":"player_pos"},{"a":12317,"t":"code","b":[233,40],"m":"sbc","o":"#$28"},{"a":12319,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":12321,"t":"code","b":[176,2],"m":"bcs","oa":12325,"o":"b_3025"},{"a":12323,"t":"code","b":[198,252],"m":"dec","oa":252,"o":"player_pos_hi"},{"a":12325,"l":"b_3025","t":"code","b":[76,249,47],"m":"jmp","oa":12281,"o":"try_cell","x":[12321]},{"a":12328,"l":"move_down","c":"$FD: down, 40 cells on.","t":"code","b":[201,253],"m":"cmp","o":"#$FD","x":[12312]},{"a":12330,"t":"code","b":[208,16],"m":"bne","oa":12348,"o":"move_right"},{"a":12332,"t":"code","b":[24],"m":"clc"},{"a":12333,"t":"code","b":[165,251],"m":"lda","oa":251,"o":"player_pos"},{"a":12335,"t":"code","b":[105,40],"m":"adc","o":"#$28"},{"a":12337,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":12339,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12341,"t":"code","b":[101,252],"m":"adc","oa":252,"o":"player_pos_hi"},{"a":12343,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"player_pos_hi"},{"a":12345,"t":"code","b":[76,249,47],"m":"jmp","oa":12281,"o":"try_cell"},{"a":12348,"l":"move_right","c":"$F7: right, one cell on. A move off the right edge lands at the start of the next row, which is how the exits at the maze's two sides join.","t":"code","b":[201,247],"m":"cmp","o":"#$F7","x":[12330]},{"a":12350,"t":"code","b":[208,14],"m":"bne","oa":12366,"o":"move_left"},{"a":12352,"t":"code","b":[24],"m":"clc"},{"a":12353,"t":"code","b":[230,251],"m":"inc","oa":251,"o":"player_pos"},{"a":12355,"t":"code","b":[165,251],"m":"lda","oa":251,"o":"player_pos"},{"a":12357,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":12359,"t":"code","b":[208,2],"m":"bne","oa":12363,"o":"b_304B"},{"a":12361,"t":"code","b":[230,252],"m":"inc","oa":252,"o":"player_pos_hi"},{"a":12363,"l":"b_304B","t":"code","b":[76,249,47],"m":"jmp","oa":12281,"o":"try_cell","x":[12359]},{"a":12366,"l":"move_left","c":"$FB: left, one cell back, onto the end of the row above from the first column.","t":"code","b":[201,251],"m":"cmp","o":"#$FB","x":[12350]},{"a":12368,"t":"code","b":[208,14],"m":"bne","oa":12384,"o":"stand_still"},{"a":12370,"t":"code","b":[56],"m":"sec"},{"a":12371,"t":"code","b":[198,251],"m":"dec","oa":251,"o":"player_pos"},{"a":12373,"t":"code","b":[165,251],"m":"lda","oa":251,"o":"player_pos"},{"a":12375,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":12377,"t":"code","b":[208,2],"m":"bne","oa":12381,"o":"b_305D"},{"a":12379,"t":"code","b":[198,252],"m":"dec","oa":252,"o":"player_pos_hi"},{"a":12381,"l":"b_305D","t":"code","b":[76,249,47],"m":"jmp","oa":12281,"o":"try_cell","x":[12377]},{"a":12384,"l":"stand_still","c":"$EF, fire with no direction: stand still.","t":"code","b":[201,239],"m":"cmp","o":"#$EF","x":[12368]},{"a":12386,"t":"code","b":[208,7],"m":"bne","oa":12395,"o":"b_306B"},{"a":12388,"t":"code","b":[169,239],"m":"lda","o":"#$EF"},{"a":12390,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":12392,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12394,"t":"code","b":[96],"m":"rts"},{"a":12395,"l":"b_306B","t":"code","b":[169,1],"m":"lda","o":"#$01","x":[12386]},{"a":12397,"t":"code","b":[96],"m":"rts"},{"a":12398,"l":"move_player","c":"Moves the player one step, Pac-Man style. A new direction on the stick ($DC01, joystick port 1) is tried first and kept if the way is open; otherwise the player carries on the way it was going, and if that is blocked too it stops (player_dir $EF). The keyboard's row 7 is wired to the same port, so the keys 1, the left arrow, CTRL, 2 and SPACE work as up, down, left, right and fire.","t":"code","b":[165,251],"m":"lda","oa":251,"o":"player_pos","x":[14321,15353]},{"a":12400,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":12402,"t":"code","b":[165,252],"m":"lda","oa":252,"o":"player_pos_hi"},{"a":12404,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":12406,"c":"The stick, read raw: the bits of up, down, left, right and fire read 0 when pressed. The KERNAL leaves $DC00 = $7F, so keyboard row 7 reads here as well.","t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b"},{"a":12409,"t":"code","b":[197,87],"m":"cmp","oa":87,"o":"player_dir"},{"a":12411,"t":"code","b":[240,14],"m":"beq","oa":12427,"o":"keep_old_way"},{"a":12413,"c":"Something new: try that way first.","t":"code","b":[133,88],"m":"sta","oa":88,"o":"player_try_dir"},{"a":12415,"t":"code","b":[32,20,48],"m":"jsr","oa":12308,"o":"step_player"},{"a":12418,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":12420,"t":"code","b":[240,5],"m":"beq","oa":12427,"o":"keep_old_way"},{"a":12422,"c":"It worked: it is the player's direction now.","t":"code","b":[165,88],"m":"lda","oa":88,"o":"player_try_dir"},{"a":12424,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":12426,"t":"code","b":[96],"m":"rts"},{"a":12427,"l":"keep_old_way","c":"Nothing new, or the new way is blocked: go on the old way.","t":"code","b":[165,87],"m":"lda","oa":87,"o":"player_dir","x":[12411,12420]},{"a":12429,"t":"code","b":[133,88],"m":"sta","oa":88,"o":"player_try_dir"},{"a":12431,"t":"code","b":[32,20,48],"m":"jsr","oa":12308,"o":"step_player"},{"a":12434,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":12436,"t":"code","b":[240,5],"m":"beq","oa":12443,"o":"blocked_stop"},{"a":12438,"t":"code","b":[165,88],"m":"lda","oa":88,"o":"player_try_dir"},{"a":12440,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":12442,"t":"code","b":[96],"m":"rts"},{"a":12443,"l":"blocked_stop","c":"Blocked both ways: stop.","t":"code","b":[169,239],"m":"lda","o":"#$EF","x":[12436]},{"a":12445,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":12447,"t":"code","b":[96],"m":"rts"},{"a":12448,"c":"Two bytes, $00 and $EC, after move_player's last RTS; nothing reads them.","t":"byte","b":[0,236]},{"a":12450,"l":"fade_beep","c":"Lets voice 1's note die away: the volume ($D418) and the pulse width's high nibble ($D403) both step from 15 down to 0, each step 6 jiffies, about 1.6 seconds in all. The name entry calls it six places, with the pitch already set: after each letter ($316D), once more with a low note after the third ($317E), and at each place a new score climbs ($31B2, $31E6, $321A, $3260). It leaves the volume at 0.","t":"code","b":[162,15],"m":"ldx","o":"#$0F","x":[12653,12670,12722,12774,12826,12896]},{"a":12452,"l":"b_30A4","t":"code","b":[142,24,212],"m":"stx","o":"sid_filter_mode_volume","x":[12469]},{"a":12455,"t":"code","b":[142,3,212],"m":"stx","o":"sid_v1_pulse_hi"},{"a":12458,"t":"code","b":[169,250],"m":"lda","o":"#$FA"},{"a":12460,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":12462,"l":"b_30AE","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[12464]},{"a":12464,"t":"code","b":[48,252],"m":"bmi","oa":12462,"o":"b_30AE"},{"a":12466,"t":"code","b":[202],"m":"dex"},{"a":12467,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":12469,"t":"code","b":[208,237],"m":"bne","oa":12452,"o":"b_30A4"},{"a":12471,"t":"code","b":[96],"m":"rts"},{"a":12472,"l":"save_hiscores","c":"Copies the five rows of the high-score table, 10 characters each (initials, a space, six digits), from the screen back into hiscore_screen, so the next showing keeps them: screen $04FE to $10F0, $054E to $1140, $059E to $1190, $05EE to $11E0 and $063E to $1230.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12693,12745,12797,12849,12899]},{"a":12474,"l":"b_30BA","t":"code","b":[189,254,4],"m":"lda","oa":1278,"o":"f_04FE,x","x":[12507]},{"a":12477,"t":"code","b":[157,240,16],"m":"sta","oa":4336,"o":"hiscore_row1,x"},{"a":12480,"t":"code","b":[189,78,5],"m":"lda","oa":1358,"o":"f_054E,x"},{"a":12483,"t":"code","b":[157,64,17],"m":"sta","oa":4416,"o":"hiscore_row2,x"},{"a":12486,"t":"code","b":[189,158,5],"m":"lda","oa":1438,"o":"f_059E,x"},{"a":12489,"t":"code","b":[157,144,17],"m":"sta","oa":4496,"o":"hiscore_row3,x"},{"a":12492,"t":"code","b":[189,238,5],"m":"lda","oa":1518,"o":"f_05EE,x"},{"a":12495,"t":"code","b":[157,224,17],"m":"sta","oa":4576,"o":"hiscore_row4,x"},{"a":12498,"t":"code","b":[189,62,6],"m":"lda","oa":1598,"o":"f_063E,x"},{"a":12501,"t":"code","b":[157,48,18],"m":"sta","oa":4656,"o":"hiscore_row5,x"},{"a":12504,"t":"code","b":[232],"m":"inx"},{"a":12505,"t":"code","b":[224,10],"m":"cpx","o":"#$0A"},{"a":12507,"t":"code","b":[208,221],"m":"bne","oa":12474,"o":"b_30BA"},{"a":12509,"t":"code","b":[96],"m":"rts"},{"a":12510,"l":"enter_name","c":"The high-score entry. If the score on the top line ($0414) beats the fifth score in the table ($1234), the score is copied to the fifth row and the player picks three letters from the alphabet on row 18: left and right move the highlight, fire takes the letter. The new row then climbs the table, swapping with each row whose score it beats, a higher beep at each place.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12934]},{"a":12512,"l":"compare_score","c":"The player's score, its five counted digits, with bit 7 taken off to compare with the table's plain digits.","t":"code","b":[189,20,4],"m":"lda","oa":1044,"o":"f_0414,x","x":[12530]},{"a":12515,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12517,"t":"code","b":[24],"m":"clc"},{"a":12518,"t":"code","b":[221,52,18],"m":"cmp","oa":4660,"o":"hiscore_row5_score,x"},{"a":12521,"t":"code","b":[240,4],"m":"beq","oa":12527,"o":"b_30EF"},{"a":12523,"t":"code","b":[176,8],"m":"bcs","oa":12533,"o":"enter_new_hi"},{"a":12525,"t":"code","b":[144,5],"m":"bcc","oa":12532,"o":"r_30F4"},{"a":12527,"l":"b_30EF","t":"code","b":[232],"m":"inx","x":[12521]},{"a":12528,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12530,"t":"code","b":[208,236],"m":"bne","oa":12512,"o":"compare_score"},{"a":12532,"l":"r_30F4","t":"code","b":[96],"m":"rts","x":[12525]},{"a":12533,"l":"enter_new_hi","c":"A new high score: its digits go into the fifth row's score ($0642) and the row's name becomes three spaces.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12523]},{"a":12535,"l":"b_30F7","t":"code","b":[189,20,4],"m":"lda","oa":1044,"o":"f_0414,x","x":[12546]},{"a":12538,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12540,"t":"code","b":[157,66,6],"m":"sta","oa":1602,"o":"f_0642,x"},{"a":12543,"t":"code","b":[232],"m":"inx"},{"a":12544,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12546,"t":"code","b":[208,243],"m":"bne","oa":12535,"o":"b_30F7"},{"a":12548,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":12550,"t":"code","b":[141,62,6],"m":"sta","oa":1598,"o":"f_063E"},{"a":12553,"t":"code","b":[141,63,6],"m":"sta","oa":1599,"o":"a_063F"},{"a":12556,"t":"code","b":[141,64,6],"m":"sta","oa":1600,"o":"a_0640"},{"a":12559,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":12561,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12563,"l":"pick_letter","c":"The letter picking loop. X is the place in the alphabet ($06D5, 27 characters: A to Z and a space), Y how many letters are taken. Each pass adds $80 to the letter under the highlight, flipping it between reversed and plain, so it blinks.","t":"code","b":[189,213,6],"m":"lda","oa":1749,"o":"f_06D5,x","x":[12595,12609,12613,12627,12631,12662]},{"a":12566,"t":"code","b":[24],"m":"clc"},{"a":12567,"t":"code","b":[105,128],"m":"adc","o":"#$80"},{"a":12569,"t":"code","b":[157,213,6],"m":"sta","oa":1749,"o":"f_06D5,x"},{"a":12572,"c":"Ten jiffies between looks at the stick.","t":"code","b":[169,246],"m":"lda","o":"#$F6"},{"a":12574,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":12576,"l":"b_3120","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[12578]},{"a":12578,"t":"code","b":[48,252],"m":"bmi","oa":12576,"o":"b_3120"},{"a":12580,"c":"$F7 right, $FB left, $EF fire. The test is for exact values, so a key held on the keyboard's row 7 at the same time stops the stick counting.","t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b"},{"a":12583,"t":"code","b":[201,247],"m":"cmp","o":"#$F7"},{"a":12585,"t":"code","b":[240,11],"m":"beq","oa":12598,"o":"letter_right"},{"a":12587,"t":"code","b":[201,251],"m":"cmp","o":"#$FB"},{"a":12589,"t":"code","b":[240,25],"m":"beq","oa":12616,"o":"letter_left"},{"a":12591,"t":"code","b":[201,239],"m":"cmp","o":"#$EF"},{"a":12593,"t":"code","b":[240,39],"m":"beq","oa":12634,"o":"take_letter"},{"a":12595,"t":"code","b":[76,19,49],"m":"jmp","oa":12563,"o":"pick_letter"},{"a":12598,"l":"letter_right","c":"Right: the old letter plain again, the highlight one on, from the space back to A.","t":"code","b":[189,213,6],"m":"lda","oa":1749,"o":"f_06D5,x","x":[12585]},{"a":12601,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12603,"t":"code","b":[157,213,6],"m":"sta","oa":1749,"o":"f_06D5,x"},{"a":12606,"t":"code","b":[232],"m":"inx"},{"a":12607,"t":"code","b":[224,27],"m":"cpx","o":"#$1B"},{"a":12609,"t":"code","b":[208,208],"m":"bne","oa":12563,"o":"pick_letter"},{"a":12611,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12613,"t":"code","b":[76,19,49],"m":"jmp","oa":12563,"o":"pick_letter"},{"a":12616,"l":"letter_left","c":"Left: one back, from A round to the space.","t":"code","b":[189,213,6],"m":"lda","oa":1749,"o":"f_06D5,x","x":[12589]},{"a":12619,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12621,"t":"code","b":[157,213,6],"m":"sta","oa":1749,"o":"f_06D5,x"},{"a":12624,"t":"code","b":[202],"m":"dex"},{"a":12625,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":12627,"t":"code","b":[208,190],"m":"bne","oa":12563,"o":"pick_letter"},{"a":12629,"t":"code","b":[162,26],"m":"ldx","o":"#$1A"},{"a":12631,"t":"code","b":[76,19,49],"m":"jmp","oa":12563,"o":"pick_letter"},{"a":12634,"l":"take_letter","c":"Fire: the letter goes into a box on row 16 ($0690) and into the name in the table's fifth row ($063E), and voice 1 sounds it, the letter's code as the pitch.","t":"code","b":[189,213,6],"m":"lda","oa":1749,"o":"f_06D5,x","x":[12593]},{"a":12637,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":12639,"t":"code","b":[153,144,6],"m":"sta","oa":1680,"o":"f_0690,y"},{"a":12642,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":12644,"t":"code","b":[153,62,6],"m":"sta","oa":1598,"o":"f_063E,y"},{"a":12647,"t":"code","b":[200],"m":"iny"},{"a":12648,"t":"code","b":[134,254],"m":"stx","oa":254,"o":"old_pos_hi"},{"a":12650,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12653,"t":"code","b":[32,162,48],"m":"jsr","oa":12450,"o":"fade_beep"},{"a":12656,"t":"code","b":[166,254],"m":"ldx","oa":254,"o":"old_pos_hi"},{"a":12658,"t":"code","b":[192,3],"m":"cpy","o":"#$03"},{"a":12660,"t":"code","b":[240,3],"m":"beq","oa":12665,"o":"name_taken"},{"a":12662,"t":"code","b":[76,19,49],"m":"jmp","oa":12563,"o":"pick_letter"},{"a":12665,"l":"name_taken","c":"Three letters taken: a low beep, then compare the new row with those above.","t":"code","b":[169,10],"m":"lda","o":"#$0A","x":[12660]},{"a":12667,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12670,"t":"code","b":[32,162,48],"m":"jsr","oa":12450,"o":"fade_beep"},{"a":12673,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12675,"l":"climb_to_row4","c":"Does the fifth row's score beat the fourth's ($05F2)? Digit by digit from the left; if not, the table is saved.","t":"code","b":[24],"m":"clc","x":[12691]},{"a":12676,"t":"code","b":[189,66,6],"m":"lda","oa":1602,"o":"f_0642,x"},{"a":12679,"t":"code","b":[221,242,5],"m":"cmp","oa":1522,"o":"f_05F2,x"},{"a":12682,"t":"code","b":[240,4],"m":"beq","oa":12688,"o":"b_3190"},{"a":12684,"t":"code","b":[176,10],"m":"bcs","oa":12696,"o":"swap_rows_4_5"},{"a":12686,"t":"code","b":[144,5],"m":"bcc","oa":12693,"o":"b_3195"},{"a":12688,"l":"b_3190","t":"code","b":[232],"m":"inx","x":[12682]},{"a":12689,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12691,"t":"code","b":[208,238],"m":"bne","oa":12675,"o":"climb_to_row4"},{"a":12693,"l":"b_3195","t":"code","b":[76,184,48],"m":"jmp","oa":12472,"o":"save_hiscores","x":[12686]},{"a":12696,"l":"swap_rows_4_5","c":"It does: swap the two rows, ten characters each, and beep a little higher.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12684]},{"a":12698,"l":"b_319A","t":"code","b":[189,238,5],"m":"lda","oa":1518,"o":"f_05EE,x","x":[12715]},{"a":12701,"t":"code","b":[72],"m":"pha"},{"a":12702,"t":"code","b":[189,62,6],"m":"lda","oa":1598,"o":"f_063E,x"},{"a":12705,"t":"code","b":[157,238,5],"m":"sta","oa":1518,"o":"f_05EE,x"},{"a":12708,"t":"code","b":[104],"m":"pla"},{"a":12709,"t":"code","b":[157,62,6],"m":"sta","oa":1598,"o":"f_063E,x"},{"a":12712,"t":"code","b":[232],"m":"inx"},{"a":12713,"t":"code","b":[224,10],"m":"cpx","o":"#$0A"},{"a":12715,"t":"code","b":[208,237],"m":"bne","oa":12698,"o":"b_319A"},{"a":12717,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":12719,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12722,"t":"code","b":[32,162,48],"m":"jsr","oa":12450,"o":"fade_beep"},{"a":12725,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12727,"l":"climb_to_row3","c":"Third row next.","t":"code","b":[24],"m":"clc","x":[12743]},{"a":12728,"t":"code","b":[189,242,5],"m":"lda","oa":1522,"o":"f_05F2,x"},{"a":12731,"t":"code","b":[221,162,5],"m":"cmp","oa":1442,"o":"f_05A2,x"},{"a":12734,"t":"code","b":[240,4],"m":"beq","oa":12740,"o":"b_31C4"},{"a":12736,"t":"code","b":[176,10],"m":"bcs","oa":12748,"o":"b_31CC"},{"a":12738,"t":"code","b":[144,5],"m":"bcc","oa":12745,"o":"b_31C9"},{"a":12740,"l":"b_31C4","t":"code","b":[232],"m":"inx","x":[12734]},{"a":12741,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12743,"t":"code","b":[208,238],"m":"bne","oa":12727,"o":"climb_to_row3"},{"a":12745,"l":"b_31C9","t":"code","b":[76,184,48],"m":"jmp","oa":12472,"o":"save_hiscores","x":[12738]},{"a":12748,"l":"b_31CC","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12736]},{"a":12750,"l":"b_31CE","t":"code","b":[189,158,5],"m":"lda","oa":1438,"o":"f_059E,x","x":[12767]},{"a":12753,"t":"code","b":[72],"m":"pha"},{"a":12754,"t":"code","b":[189,238,5],"m":"lda","oa":1518,"o":"f_05EE,x"},{"a":12757,"t":"code","b":[157,158,5],"m":"sta","oa":1438,"o":"f_059E,x"},{"a":12760,"t":"code","b":[104],"m":"pla"},{"a":12761,"t":"code","b":[157,238,5],"m":"sta","oa":1518,"o":"f_05EE,x"},{"a":12764,"t":"code","b":[232],"m":"inx"},{"a":12765,"t":"code","b":[224,10],"m":"cpx","o":"#$0A"},{"a":12767,"t":"code","b":[208,237],"m":"bne","oa":12750,"o":"b_31CE"},{"a":12769,"t":"code","b":[169,30],"m":"lda","o":"#$1E"},{"a":12771,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12774,"t":"code","b":[32,162,48],"m":"jsr","oa":12450,"o":"fade_beep"},{"a":12777,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12779,"l":"climb_to_row2","c":"Second row next.","t":"code","b":[24],"m":"clc","x":[12795]},{"a":12780,"t":"code","b":[189,162,5],"m":"lda","oa":1442,"o":"f_05A2,x"},{"a":12783,"t":"code","b":[221,82,5],"m":"cmp","oa":1362,"o":"f_0552,x"},{"a":12786,"t":"code","b":[240,4],"m":"beq","oa":12792,"o":"b_31F8"},{"a":12788,"t":"code","b":[176,10],"m":"bcs","oa":12800,"o":"b_3200"},{"a":12790,"t":"code","b":[144,5],"m":"bcc","oa":12797,"o":"b_31FD"},{"a":12792,"l":"b_31F8","t":"code","b":[232],"m":"inx","x":[12786]},{"a":12793,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12795,"t":"code","b":[208,238],"m":"bne","oa":12779,"o":"climb_to_row2"},{"a":12797,"l":"b_31FD","t":"code","b":[76,184,48],"m":"jmp","oa":12472,"o":"save_hiscores","x":[12790]},{"a":12800,"l":"b_3200","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12788]},{"a":12802,"l":"b_3202","t":"code","b":[189,78,5],"m":"lda","oa":1358,"o":"f_054E,x","x":[12819]},{"a":12805,"t":"code","b":[72],"m":"pha"},{"a":12806,"t":"code","b":[189,158,5],"m":"lda","oa":1438,"o":"f_059E,x"},{"a":12809,"t":"code","b":[157,78,5],"m":"sta","oa":1358,"o":"f_054E,x"},{"a":12812,"t":"code","b":[104],"m":"pla"},{"a":12813,"t":"code","b":[157,158,5],"m":"sta","oa":1438,"o":"f_059E,x"},{"a":12816,"t":"code","b":[232],"m":"inx"},{"a":12817,"t":"code","b":[224,10],"m":"cpx","o":"#$0A"},{"a":12819,"t":"code","b":[208,237],"m":"bne","oa":12802,"o":"b_3202"},{"a":12821,"t":"code","b":[169,40],"m":"lda","o":"#$28"},{"a":12823,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12826,"t":"code","b":[32,162,48],"m":"jsr","oa":12450,"o":"fade_beep"},{"a":12829,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12831,"l":"climb_to_row1","c":"First row next.","t":"code","b":[24],"m":"clc","x":[12847]},{"a":12832,"t":"code","b":[189,82,5],"m":"lda","oa":1362,"o":"f_0552,x"},{"a":12835,"t":"code","b":[221,2,5],"m":"cmp","oa":1282,"o":"f_0502,x"},{"a":12838,"t":"code","b":[240,4],"m":"beq","oa":12844,"o":"b_322C"},{"a":12840,"t":"code","b":[176,10],"m":"bcs","oa":12852,"o":"b_3234"},{"a":12842,"t":"code","b":[144,5],"m":"bcc","oa":12849,"o":"b_3231"},{"a":12844,"l":"b_322C","t":"code","b":[232],"m":"inx","x":[12838]},{"a":12845,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12847,"t":"code","b":[208,238],"m":"bne","oa":12831,"o":"climb_to_row1"},{"a":12849,"l":"b_3231","t":"code","b":[76,184,48],"m":"jmp","oa":12472,"o":"save_hiscores","x":[12842]},{"a":12852,"l":"b_3234","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[12840]},{"a":12854,"l":"b_3236","t":"code","b":[189,254,4],"m":"lda","oa":1278,"o":"f_04FE,x","x":[12871]},{"a":12857,"t":"code","b":[72],"m":"pha"},{"a":12858,"t":"code","b":[189,78,5],"m":"lda","oa":1358,"o":"f_054E,x"},{"a":12861,"t":"code","b":[157,254,4],"m":"sta","oa":1278,"o":"f_04FE,x"},{"a":12864,"t":"code","b":[104],"m":"pla"},{"a":12865,"t":"code","b":[157,78,5],"m":"sta","oa":1358,"o":"f_054E,x"},{"a":12868,"t":"code","b":[232],"m":"inx"},{"a":12869,"t":"code","b":[224,10],"m":"cpx","o":"#$0A"},{"a":12871,"t":"code","b":[208,237],"m":"bne","oa":12854,"o":"b_3236"},{"a":12873,"c":"A new best score: it goes reversed into status_top_template's high-score digits ($0FA4), and the status lines are drawn again from their templates, so HI shows it from now on and the score on the top line goes back to 000000.","t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12875,"l":"b_324B","t":"code","b":[189,2,5],"m":"lda","oa":1282,"o":"f_0502,x","x":[12886]},{"a":12878,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":12880,"t":"code","b":[157,164,15],"m":"sta","oa":4004,"o":"status_hi_digits,x"},{"a":12883,"t":"code","b":[232],"m":"inx"},{"a":12884,"t":"code","b":[224,5],"m":"cpx","o":"#$05"},{"a":12886,"t":"code","b":[208,243],"m":"bne","oa":12875,"o":"b_324B"},{"a":12888,"t":"code","b":[32,250,35],"m":"jsr","oa":9210,"o":"draw_status_lines"},{"a":12891,"t":"code","b":[169,80],"m":"lda","o":"#$50"},{"a":12893,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12896,"t":"code","b":[32,162,48],"m":"jsr","oa":12450,"o":"fade_beep"},{"a":12899,"t":"code","b":[76,184,48],"m":"jmp","oa":12472,"o":"save_hiscores"},{"a":12902,"l":"game_over_screen","c":"The end of a game: the high-score screen in blue with its coloured bands, the name entry, then \"PRESS FIRE TO START\" and a wait for fire alone. The status lines and the border go red before the wait, ready for the title.","t":"code","b":[169,6],"m":"lda","o":"#$06","x":[15127]},{"a":12904,"t":"code","b":[32,14,36],"m":"jsr","oa":9230,"o":"colour_status_lines"},{"a":12907,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":12910,"c":"$C8: multicolour off, so the letters show in their own colours.","t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":12912,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":12915,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":12917,"t":"code","b":[141,3,212],"m":"sta","o":"sid_v1_pulse_hi"},{"a":12920,"t":"code","b":[141,2,212],"m":"sta","o":"sid_v1_pulse_lo"},{"a":12923,"t":"code","b":[32,28,36],"m":"jsr","oa":9244,"o":"show_hiscore_screen"},{"a":12926,"t":"code","b":[32,66,37],"m":"jsr","oa":9538,"o":"hiscore_colour_bands"},{"a":12929,"c":"Voice 1, pulse wave, gate on, for the beeps of the name entry.","t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":12931,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":12934,"t":"code","b":[32,222,48],"m":"jsr","oa":12510,"o":"enter_name"},{"a":12937,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":12939,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12942,"t":"code","b":[141,3,212],"m":"sta","o":"sid_v1_pulse_hi"},{"a":12945,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":12947,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":12950,"t":"code","b":[169,246],"m":"lda","o":"#$F6"},{"a":12952,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":12954,"l":"b_329A","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[12956]},{"a":12956,"t":"code","b":[48,252],"m":"bmi","oa":12954,"o":"b_329A"},{"a":12958,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":12960,"l":"show_press_fire","c":"\"PRESS FIRE TO START\" over the row of boxes ($0689).","t":"code","b":[189,172,38],"m":"lda","oa":9900,"o":"str_press_fire,x","x":[12969]},{"a":12963,"t":"code","b":[157,137,6],"m":"sta","oa":1673,"o":"f_0689,x"},{"a":12966,"t":"code","b":[232],"m":"inx"},{"a":12967,"t":"code","b":[224,19],"m":"cpx","o":"#$13"},{"a":12969,"t":"code","b":[208,245],"m":"bne","oa":12960,"o":"show_press_fire"},{"a":12971,"t":"code","b":[169,30],"m":"lda","o":"#$1E"},{"a":12973,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12976,"t":"code","b":[169,240],"m":"lda","o":"#$F0"},{"a":12978,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":12980,"l":"b_32B4","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[12982]},{"a":12982,"t":"code","b":[48,252],"m":"bmi","oa":12980,"o":"b_32B4"},{"a":12984,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":12986,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":12989,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":12991,"t":"code","b":[32,14,36],"m":"jsr","oa":9230,"o":"colour_status_lines"},{"a":12994,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":12997,"l":"wait_fire","c":"Waits for fire alone ($EF) on port 1.","t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b","x":[13004]},{"a":13000,"t":"code","b":[201,239],"m":"cmp","o":"#$EF"},{"a":13002,"t":"code","b":[240,3],"m":"beq","oa":13007,"o":"r_32CF"},{"a":13004,"t":"code","b":[76,197,50],"m":"jmp","oa":12997,"o":"wait_fire"},{"a":13007,"l":"r_32CF","t":"code","b":[96],"m":"rts","x":[13002]},{"a":13008,"c":"Two bytes, $60 and $FF, after game_over_screen's RTS; nothing reads them.","t":"byte","b":[96,255]},{"a":13010,"l":"worm_cell_check","c":"Where try_worm_step ends: a jump to cell_is_free ($3C93). The jump overwrote the start of an older test, whose rest follows and never runs.","t":"code","b":[76,147,60],"m":"jmp","oa":15507,"o":"cell_is_free","x":[13056,13076,13097,13114]},{"a":13013,"l":"old_cell_check","c":"The older version of cell_is_free, cut off by the JMP before it and never reached: it took a space or an egg as free, but not the player. The newer one at $3C93 also takes the player's character $51, which lets a worm step onto the player.","t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13015,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":13018,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13020,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13022,"t":"code","b":[24],"m":"clc"},{"a":13023,"t":"code","b":[177,253],"m":"lda","oa":253,"o":"(old_pos),y"},{"a":13025,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":13027,"t":"code","b":[240,7],"m":"beq","oa":13036,"o":"b_32EC"},{"a":13029,"t":"code","b":[201,70],"m":"cmp","o":"#$46"},{"a":13031,"t":"code","b":[240,3],"m":"beq","oa":13036,"o":"b_32EC"},{"a":13033,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":13035,"t":"code","b":[96],"m":"rts"},{"a":13036,"l":"b_32EC","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[13027,13031]},{"a":13038,"t":"code","b":[96],"m":"rts"},{"a":13039,"l":"try_worm_step","c":"Moves the address in worm_probe ($2686) one cell the way A says, 1 right, 2 left, 3 up (40 back), 4 down (40 on), then tests the cell there with cell_is_free: A = 0 free, A = 1 not.","t":"code","b":[201,1],"m":"cmp","o":"#$01","x":[13195,13328,13461,13594,13727,14738]},{"a":13041,"t":"code","b":[208,16],"m":"bne","oa":13059,"o":"b_3303"},{"a":13043,"t":"code","b":[238,134,38],"m":"inc","oa":9862,"o":"worm_probe"},{"a":13046,"t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe"},{"a":13049,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":13051,"t":"code","b":[208,3],"m":"bne","oa":13056,"o":"b_3300"},{"a":13053,"t":"code","b":[238,135,38],"m":"inc","oa":9863,"o":"worm_probe_hi"},{"a":13056,"l":"b_3300","t":"code","b":[76,210,50],"m":"jmp","oa":13010,"o":"worm_cell_check","x":[13051]},{"a":13059,"l":"b_3303","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[13041]},{"a":13061,"t":"code","b":[208,16],"m":"bne","oa":13079,"o":"b_3317"},{"a":13063,"t":"code","b":[206,134,38],"m":"dec","oa":9862,"o":"worm_probe"},{"a":13066,"t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe"},{"a":13069,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":13071,"t":"code","b":[208,3],"m":"bne","oa":13076,"o":"b_3314"},{"a":13073,"t":"code","b":[206,135,38],"m":"dec","oa":9863,"o":"worm_probe_hi"},{"a":13076,"l":"b_3314","t":"code","b":[76,210,50],"m":"jmp","oa":13010,"o":"worm_cell_check","x":[13071]},{"a":13079,"l":"b_3317","t":"code","b":[201,3],"m":"cmp","o":"#$03","x":[13061]},{"a":13081,"t":"code","b":[208,17],"m":"bne","oa":13100,"o":"b_332C"},{"a":13083,"t":"code","b":[56],"m":"sec"},{"a":13084,"t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe"},{"a":13087,"t":"code","b":[233,40],"m":"sbc","o":"#$28"},{"a":13089,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13092,"t":"code","b":[176,3],"m":"bcs","oa":13097,"o":"b_3329"},{"a":13094,"t":"code","b":[206,135,38],"m":"dec","oa":9863,"o":"worm_probe_hi"},{"a":13097,"l":"b_3329","t":"code","b":[76,210,50],"m":"jmp","oa":13010,"o":"worm_cell_check","x":[13092]},{"a":13100,"l":"b_332C","t":"code","b":[24],"m":"clc","x":[13081]},{"a":13101,"t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe"},{"a":13104,"t":"code","b":[105,40],"m":"adc","o":"#$28"},{"a":13106,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13109,"t":"code","b":[144,3],"m":"bcc","oa":13114,"o":"b_333A"},{"a":13111,"t":"code","b":[238,135,38],"m":"inc","oa":9863,"o":"worm_probe_hi"},{"a":13114,"l":"b_333A","t":"code","b":[76,210,50],"m":"jmp","oa":13010,"o":"worm_cell_check","x":[13109]},{"a":13117,"l":"next_worm_direction","c":"Steps worm_direction ($2680) on, 1 to 4 and back to 1. Each mover calls it before every try, so every worm and the treasure share one turning sequence.","t":"code","b":[238,128,38],"m":"inc","oa":9856,"o":"worm_direction","x":[13189,13322,13455,13588,13721,14732]},{"a":13120,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":13123,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":13125,"t":"code","b":[208,5],"m":"bne","oa":13132,"o":"r_334C"},{"a":13127,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":13129,"t":"code","b":[141,128,38],"m":"sta","oa":9856,"o":"worm_direction"},{"a":13132,"l":"r_334C","t":"code","b":[96],"m":"rts","x":[13125]},{"a":13133,"l":"step_worm_a","c":"Moves worm A, the eight-cell worm, one step, and then runs on into the other worms' steps (B, C, D and E). Worm A lays an egg: its tail cell gets character $46 before the cells shift. Up to four directions are tried; if all are blocked the head is put back on the worm's start cell, $048E. Then the seven body cells are drawn with $44 and the head with $43. move_creatures calls it only at level_stage 4.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14955]},{"a":13135,"t":"code","b":[141,129,38],"m":"sta","oa":9857,"o":"worm_tries"},{"a":13138,"t":"code","b":[173,86,38],"m":"lda","oa":9814,"o":"worm_a_cell7"},{"a":13141,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13143,"t":"code","b":[173,87,38],"m":"lda","oa":9815,"o":"worm_a_cell7_hi"},{"a":13146,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13148,"c":"The egg, where the tail was.","t":"code","b":[169,70],"m":"lda","o":"#$46"},{"a":13150,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13152,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13154,"c":"Shift the cell list one place back: each cell takes the address of the one in front of it, and the old tail's address is lost.","t":"code","b":[162,13],"m":"ldx","o":"#$0D"},{"a":13156,"l":"b_3364","t":"code","b":[189,72,38],"m":"lda","oa":9800,"o":"worm_a_head,x","x":[13165]},{"a":13159,"t":"code","b":[157,74,38],"m":"sta","oa":9802,"o":"worm_a_cell1,x"},{"a":13162,"t":"code","b":[202],"m":"dex"},{"a":13163,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13165,"t":"code","b":[208,245],"m":"bne","oa":13156,"o":"b_3364"},{"a":13167,"l":"worm_a_try","c":"A try: the fifth time round, give up.","t":"code","b":[238,129,38],"m":"inc","oa":9857,"o":"worm_tries","x":[13202]},{"a":13170,"t":"code","b":[173,129,38],"m":"lda","oa":9857,"o":"worm_tries"},{"a":13173,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":13175,"t":"code","b":[240,43],"m":"beq","oa":13220,"o":"worm_a_boxed_in"},{"a":13177,"t":"code","b":[173,72,38],"m":"lda","oa":9800,"o":"worm_a_head"},{"a":13180,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13183,"t":"code","b":[173,73,38],"m":"lda","oa":9801,"o":"worm_a_head_hi"},{"a":13186,"t":"code","b":[141,135,38],"m":"sta","oa":9863,"o":"worm_probe_hi"},{"a":13189,"c":"Turn, and see whether the cell that way is free.","t":"code","b":[32,61,51],"m":"jsr","oa":13117,"o":"next_worm_direction"},{"a":13192,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":13195,"t":"code","b":[32,239,50],"m":"jsr","oa":13039,"o":"try_worm_step"},{"a":13198,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":13200,"t":"code","b":[208,3],"m":"bne","oa":13205,"o":"worm_a_free"},{"a":13202,"t":"code","b":[76,111,51],"m":"jmp","oa":13167,"o":"worm_a_try"},{"a":13205,"l":"worm_a_free","c":"Free: the head moves there.","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[13200]},{"a":13208,"t":"code","b":[141,72,38],"m":"sta","oa":9800,"o":"worm_a_head"},{"a":13211,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":13214,"t":"code","b":[141,73,38],"m":"sta","oa":9801,"o":"worm_a_head_hi"},{"a":13217,"t":"code","b":[76,174,51],"m":"jmp","oa":13230,"o":"draw_worm_a"},{"a":13220,"l":"worm_a_boxed_in","c":"Boxed in: the head jumps back to the start cell, row 3, column 22.","t":"code","b":[169,142],"m":"lda","o":"#$8E","x":[13175]},{"a":13222,"t":"code","b":[141,72,38],"m":"sta","oa":9800,"o":"worm_a_head"},{"a":13225,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":13227,"t":"code","b":[141,73,38],"m":"sta","oa":9801,"o":"worm_a_head_hi"},{"a":13230,"l":"draw_worm_a","c":"Draw the body, then the head.","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[13217]},{"a":13232,"l":"b_33B0","t":"code","b":[189,74,38],"m":"lda","oa":9802,"o":"worm_a_cell1,x","x":[13250]},{"a":13235,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13237,"t":"code","b":[189,75,38],"m":"lda","oa":9803,"o":"worm_a_cell1_hi,x"},{"a":13240,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13242,"t":"code","b":[169,68],"m":"lda","o":"#$44"},{"a":13244,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13246,"t":"code","b":[232],"m":"inx"},{"a":13247,"t":"code","b":[232],"m":"inx"},{"a":13248,"t":"code","b":[224,14],"m":"cpx","o":"#$0E"},{"a":13250,"t":"code","b":[208,236],"m":"bne","oa":13232,"o":"b_33B0"},{"a":13252,"t":"code","b":[173,72,38],"m":"lda","oa":9800,"o":"worm_a_head"},{"a":13255,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13257,"t":"code","b":[173,73,38],"m":"lda","oa":9801,"o":"worm_a_head_hi"},{"a":13260,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13262,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":13264,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13266,"l":"step_worm_b","c":"Moves worm B, five cells, one step and runs on into worms C, D and E. Its tail cell is cleared to a space, so an egg it crossed is gone. Its start cell is $0755, row 21, column 13, on the maze's bottom corridor; move_creatures starts here at level_stage 3.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14944]},{"a":13268,"t":"code","b":[141,129,38],"m":"sta","oa":9857,"o":"worm_tries"},{"a":13271,"t":"code","b":[173,96,38],"m":"lda","oa":9824,"o":"worm_b_cell4"},{"a":13274,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13276,"t":"code","b":[173,97,38],"m":"lda","oa":9825,"o":"worm_b_cell4_hi"},{"a":13279,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13281,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":13283,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13285,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13287,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":13289,"l":"b_33E9","t":"code","b":[189,88,38],"m":"lda","oa":9816,"o":"worm_b_head,x","x":[13298]},{"a":13292,"t":"code","b":[157,90,38],"m":"sta","oa":9818,"o":"worm_b_cell1,x"},{"a":13295,"t":"code","b":[202],"m":"dex"},{"a":13296,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13298,"t":"code","b":[208,245],"m":"bne","oa":13289,"o":"b_33E9"},{"a":13300,"l":"j_33F4","t":"code","b":[238,129,38],"m":"inc","oa":9857,"o":"worm_tries","x":[13335]},{"a":13303,"t":"code","b":[173,129,38],"m":"lda","oa":9857,"o":"worm_tries"},{"a":13306,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":13308,"t":"code","b":[240,43],"m":"beq","oa":13353,"o":"b_3429"},{"a":13310,"t":"code","b":[173,88,38],"m":"lda","oa":9816,"o":"worm_b_head"},{"a":13313,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13316,"t":"code","b":[173,89,38],"m":"lda","oa":9817,"o":"worm_b_head_hi"},{"a":13319,"t":"code","b":[141,135,38],"m":"sta","oa":9863,"o":"worm_probe_hi"},{"a":13322,"t":"code","b":[32,61,51],"m":"jsr","oa":13117,"o":"next_worm_direction"},{"a":13325,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":13328,"t":"code","b":[32,239,50],"m":"jsr","oa":13039,"o":"try_worm_step"},{"a":13331,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":13333,"t":"code","b":[208,3],"m":"bne","oa":13338,"o":"b_341A"},{"a":13335,"t":"code","b":[76,244,51],"m":"jmp","oa":13300,"o":"j_33F4"},{"a":13338,"l":"b_341A","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[13333]},{"a":13341,"t":"code","b":[141,88,38],"m":"sta","oa":9816,"o":"worm_b_head"},{"a":13344,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":13347,"t":"code","b":[141,89,38],"m":"sta","oa":9817,"o":"worm_b_head_hi"},{"a":13350,"t":"code","b":[76,51,52],"m":"jmp","oa":13363,"o":"j_3433"},{"a":13353,"l":"b_3429","t":"code","b":[169,85],"m":"lda","o":"#$55","x":[13308]},{"a":13355,"t":"code","b":[141,88,38],"m":"sta","oa":9816,"o":"worm_b_head"},{"a":13358,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":13360,"t":"code","b":[141,89,38],"m":"sta","oa":9817,"o":"worm_b_head_hi"},{"a":13363,"l":"j_3433","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[13350]},{"a":13365,"l":"b_3435","t":"code","b":[189,90,38],"m":"lda","oa":9818,"o":"worm_b_cell1,x","x":[13383]},{"a":13368,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13370,"t":"code","b":[189,91,38],"m":"lda","oa":9819,"o":"worm_b_cell1_hi,x"},{"a":13373,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13375,"t":"code","b":[169,68],"m":"lda","o":"#$44"},{"a":13377,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13379,"t":"code","b":[232],"m":"inx"},{"a":13380,"t":"code","b":[232],"m":"inx"},{"a":13381,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":13383,"t":"code","b":[208,236],"m":"bne","oa":13365,"o":"b_3435"},{"a":13385,"t":"code","b":[173,88,38],"m":"lda","oa":9816,"o":"worm_b_head"},{"a":13388,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13390,"t":"code","b":[173,89,38],"m":"lda","oa":9817,"o":"worm_b_head_hi"},{"a":13393,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13395,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":13397,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13399,"l":"step_worm_c","c":"Moves worm C, five cells, one step and runs on into worms D and E. Its tail cell is cleared to a space; its start cell is $04CB, row 5, column 3. move_creatures starts here at level_stage 1 and 2, so worms C, D and E move on every level.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14925,14933]},{"a":13401,"t":"code","b":[141,129,38],"m":"sta","oa":9857,"o":"worm_tries"},{"a":13404,"t":"code","b":[173,106,38],"m":"lda","oa":9834,"o":"worm_c_cell4"},{"a":13407,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13409,"t":"code","b":[173,107,38],"m":"lda","oa":9835,"o":"worm_c_cell4_hi"},{"a":13412,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13414,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":13416,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13418,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13420,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":13422,"l":"b_346E","t":"code","b":[189,98,38],"m":"lda","oa":9826,"o":"worm_c_head,x","x":[13431]},{"a":13425,"t":"code","b":[157,100,38],"m":"sta","oa":9828,"o":"worm_c_cell1,x"},{"a":13428,"t":"code","b":[202],"m":"dex"},{"a":13429,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13431,"t":"code","b":[208,245],"m":"bne","oa":13422,"o":"b_346E"},{"a":13433,"l":"j_3479","t":"code","b":[238,129,38],"m":"inc","oa":9857,"o":"worm_tries","x":[13468]},{"a":13436,"t":"code","b":[173,129,38],"m":"lda","oa":9857,"o":"worm_tries"},{"a":13439,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":13441,"t":"code","b":[240,43],"m":"beq","oa":13486,"o":"b_34AE"},{"a":13443,"t":"code","b":[173,98,38],"m":"lda","oa":9826,"o":"worm_c_head"},{"a":13446,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13449,"t":"code","b":[173,99,38],"m":"lda","oa":9827,"o":"worm_c_head_hi"},{"a":13452,"t":"code","b":[141,135,38],"m":"sta","oa":9863,"o":"worm_probe_hi"},{"a":13455,"t":"code","b":[32,61,51],"m":"jsr","oa":13117,"o":"next_worm_direction"},{"a":13458,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":13461,"t":"code","b":[32,239,50],"m":"jsr","oa":13039,"o":"try_worm_step"},{"a":13464,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":13466,"t":"code","b":[208,3],"m":"bne","oa":13471,"o":"b_349F"},{"a":13468,"t":"code","b":[76,121,52],"m":"jmp","oa":13433,"o":"j_3479"},{"a":13471,"l":"b_349F","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[13466]},{"a":13474,"t":"code","b":[141,98,38],"m":"sta","oa":9826,"o":"worm_c_head"},{"a":13477,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":13480,"t":"code","b":[141,99,38],"m":"sta","oa":9827,"o":"worm_c_head_hi"},{"a":13483,"t":"code","b":[76,184,52],"m":"jmp","oa":13496,"o":"j_34B8"},{"a":13486,"l":"b_34AE","t":"code","b":[169,203],"m":"lda","o":"#$CB","x":[13441]},{"a":13488,"t":"code","b":[141,98,38],"m":"sta","oa":9826,"o":"worm_c_head"},{"a":13491,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":13493,"t":"code","b":[141,99,38],"m":"sta","oa":9827,"o":"worm_c_head_hi"},{"a":13496,"l":"j_34B8","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[13483]},{"a":13498,"l":"b_34BA","t":"code","b":[189,100,38],"m":"lda","oa":9828,"o":"worm_c_cell1,x","x":[13516]},{"a":13501,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13503,"t":"code","b":[189,101,38],"m":"lda","oa":9829,"o":"worm_c_cell1_hi,x"},{"a":13506,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13508,"t":"code","b":[169,68],"m":"lda","o":"#$44"},{"a":13510,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13512,"t":"code","b":[232],"m":"inx"},{"a":13513,"t":"code","b":[232],"m":"inx"},{"a":13514,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":13516,"t":"code","b":[208,236],"m":"bne","oa":13498,"o":"b_34BA"},{"a":13518,"t":"code","b":[173,98,38],"m":"lda","oa":9826,"o":"worm_c_head"},{"a":13521,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13523,"t":"code","b":[173,99,38],"m":"lda","oa":9827,"o":"worm_c_head_hi"},{"a":13526,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13528,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":13530,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13532,"l":"step_worm_d","c":"Moves worm D, five cells, one step and runs on into worm E. Its tail cell is cleared to a space; its start cell is $0575, row 9, column 13.","t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13534,"t":"code","b":[141,129,38],"m":"sta","oa":9857,"o":"worm_tries"},{"a":13537,"t":"code","b":[173,116,38],"m":"lda","oa":9844,"o":"worm_d_cell4"},{"a":13540,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13542,"t":"code","b":[173,117,38],"m":"lda","oa":9845,"o":"worm_d_cell4_hi"},{"a":13545,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13547,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":13549,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13551,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13553,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":13555,"l":"b_34F3","t":"code","b":[189,108,38],"m":"lda","oa":9836,"o":"worm_d_head,x","x":[13564]},{"a":13558,"t":"code","b":[157,110,38],"m":"sta","oa":9838,"o":"worm_d_cell1,x"},{"a":13561,"t":"code","b":[202],"m":"dex"},{"a":13562,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13564,"t":"code","b":[208,245],"m":"bne","oa":13555,"o":"b_34F3"},{"a":13566,"l":"j_34FE","t":"code","b":[238,129,38],"m":"inc","oa":9857,"o":"worm_tries","x":[13601]},{"a":13569,"t":"code","b":[173,129,38],"m":"lda","oa":9857,"o":"worm_tries"},{"a":13572,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":13574,"t":"code","b":[240,43],"m":"beq","oa":13619,"o":"b_3533"},{"a":13576,"t":"code","b":[173,108,38],"m":"lda","oa":9836,"o":"worm_d_head"},{"a":13579,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13582,"t":"code","b":[173,109,38],"m":"lda","oa":9837,"o":"worm_d_head_hi"},{"a":13585,"t":"code","b":[141,135,38],"m":"sta","oa":9863,"o":"worm_probe_hi"},{"a":13588,"t":"code","b":[32,61,51],"m":"jsr","oa":13117,"o":"next_worm_direction"},{"a":13591,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":13594,"t":"code","b":[32,239,50],"m":"jsr","oa":13039,"o":"try_worm_step"},{"a":13597,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":13599,"t":"code","b":[208,3],"m":"bne","oa":13604,"o":"b_3524"},{"a":13601,"t":"code","b":[76,254,52],"m":"jmp","oa":13566,"o":"j_34FE"},{"a":13604,"l":"b_3524","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[13599]},{"a":13607,"t":"code","b":[141,108,38],"m":"sta","oa":9836,"o":"worm_d_head"},{"a":13610,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":13613,"t":"code","b":[141,109,38],"m":"sta","oa":9837,"o":"worm_d_head_hi"},{"a":13616,"t":"code","b":[76,61,53],"m":"jmp","oa":13629,"o":"j_353D"},{"a":13619,"l":"b_3533","t":"code","b":[169,117],"m":"lda","o":"#$75","x":[13574]},{"a":13621,"t":"code","b":[141,108,38],"m":"sta","oa":9836,"o":"worm_d_head"},{"a":13624,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":13626,"t":"code","b":[141,109,38],"m":"sta","oa":9837,"o":"worm_d_head_hi"},{"a":13629,"l":"j_353D","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[13616]},{"a":13631,"l":"b_353F","t":"code","b":[189,110,38],"m":"lda","oa":9838,"o":"worm_d_cell1,x","x":[13649]},{"a":13634,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13636,"t":"code","b":[189,111,38],"m":"lda","oa":9839,"o":"worm_d_cell1_hi,x"},{"a":13639,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13641,"t":"code","b":[169,68],"m":"lda","o":"#$44"},{"a":13643,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13645,"t":"code","b":[232],"m":"inx"},{"a":13646,"t":"code","b":[232],"m":"inx"},{"a":13647,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":13649,"t":"code","b":[208,236],"m":"bne","oa":13631,"o":"b_353F"},{"a":13651,"t":"code","b":[173,108,38],"m":"lda","oa":9836,"o":"worm_d_head"},{"a":13654,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13656,"t":"code","b":[173,109,38],"m":"lda","oa":9837,"o":"worm_d_head_hi"},{"a":13659,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13661,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":13663,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13665,"l":"step_worm_e","c":"Moves worm E, five cells, one step. Like worm A it lays an egg where its tail was; its start cell is $06FB, row 19, column 3. It moves on every level, so it lays the eggs on levels where A stays still.","t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":13667,"t":"code","b":[141,129,38],"m":"sta","oa":9857,"o":"worm_tries"},{"a":13670,"t":"code","b":[173,126,38],"m":"lda","oa":9854,"o":"worm_e_cell4"},{"a":13673,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13675,"t":"code","b":[173,127,38],"m":"lda","oa":9855,"o":"worm_e_cell4_hi"},{"a":13678,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13680,"t":"code","b":[169,70],"m":"lda","o":"#$46"},{"a":13682,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":13684,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13686,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":13688,"l":"b_3578","t":"code","b":[189,118,38],"m":"lda","oa":9846,"o":"worm_e_head,x","x":[13697]},{"a":13691,"t":"code","b":[157,120,38],"m":"sta","oa":9848,"o":"worm_e_cell1,x"},{"a":13694,"t":"code","b":[202],"m":"dex"},{"a":13695,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13697,"t":"code","b":[208,245],"m":"bne","oa":13688,"o":"b_3578"},{"a":13699,"l":"j_3583","t":"code","b":[238,129,38],"m":"inc","oa":9857,"o":"worm_tries","x":[13734]},{"a":13702,"t":"code","b":[173,129,38],"m":"lda","oa":9857,"o":"worm_tries"},{"a":13705,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":13707,"t":"code","b":[240,43],"m":"beq","oa":13752,"o":"b_35B8"},{"a":13709,"t":"code","b":[173,118,38],"m":"lda","oa":9846,"o":"worm_e_head"},{"a":13712,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":13715,"t":"code","b":[173,119,38],"m":"lda","oa":9847,"o":"worm_e_head_hi"},{"a":13718,"t":"code","b":[141,135,38],"m":"sta","oa":9863,"o":"worm_probe_hi"},{"a":13721,"t":"code","b":[32,61,51],"m":"jsr","oa":13117,"o":"next_worm_direction"},{"a":13724,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":13727,"t":"code","b":[32,239,50],"m":"jsr","oa":13039,"o":"try_worm_step"},{"a":13730,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":13732,"t":"code","b":[208,3],"m":"bne","oa":13737,"o":"b_35A9"},{"a":13734,"t":"code","b":[76,131,53],"m":"jmp","oa":13699,"o":"j_3583"},{"a":13737,"l":"b_35A9","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[13732]},{"a":13740,"t":"code","b":[141,118,38],"m":"sta","oa":9846,"o":"worm_e_head"},{"a":13743,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":13746,"t":"code","b":[141,119,38],"m":"sta","oa":9847,"o":"worm_e_head_hi"},{"a":13749,"t":"code","b":[76,194,53],"m":"jmp","oa":13762,"o":"j_35C2"},{"a":13752,"l":"b_35B8","t":"code","b":[169,251],"m":"lda","o":"#$FB","x":[13707]},{"a":13754,"t":"code","b":[141,118,38],"m":"sta","oa":9846,"o":"worm_e_head"},{"a":13757,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":13759,"t":"code","b":[141,119,38],"m":"sta","oa":9847,"o":"worm_e_head_hi"},{"a":13762,"l":"j_35C2","t":"code","b":[162,0],"m":"ldx","o":"#$00","x":[13749]},{"a":13764,"l":"b_35C4","t":"code","b":[189,120,38],"m":"lda","oa":9848,"o":"worm_e_cell1,x","x":[13782]},{"a":13767,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13769,"t":"code","b":[189,121,38],"m":"lda","oa":9849,"o":"worm_e_cell1_hi,x"},{"a":13772,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13774,"t":"code","b":[169,68],"m":"lda","o":"#$44"},{"a":13776,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13778,"t":"code","b":[232],"m":"inx"},{"a":13779,"t":"code","b":[232],"m":"inx"},{"a":13780,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":13782,"t":"code","b":[208,236],"m":"bne","oa":13764,"o":"b_35C4"},{"a":13784,"t":"code","b":[173,118,38],"m":"lda","oa":9846,"o":"worm_e_head"},{"a":13787,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":13789,"t":"code","b":[173,119,38],"m":"lda","oa":9847,"o":"worm_e_head_hi"},{"a":13792,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":13794,"t":"code","b":[169,67],"m":"lda","o":"#$43"},{"a":13796,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":13798,"c":"The end of every worm's step.","t":"code","b":[96],"m":"rts"},{"a":13799,"c":"One byte, $41, after the worms' RTS; nothing reads it.","t":"byte","b":[65]},{"a":13800,"l":"colour_maze","c":"Colours the maze in colour RAM, rows 2 to 22: a wall cell gets 9, white with the multicolour flag, and an empty cell the value of a counter that steps 1 to 7 and round again on every cell, walls included. So an empty cell's colour depends on where it is (the first one in maze 1, row 3, column 1, gets 7, yellow), and the game never colours a cell again: a worm, an egg or the player takes the colour of the cell it is drawn in and changes colour as it moves.","t":"code","b":[160,1],"m":"ldy","o":"#$01","x":[14644,15344]},{"a":13802,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":13804,"l":"b_35EC","t":"code","b":[189,80,4],"m":"lda","oa":1104,"o":"f_0450,x","x":[13833]},{"a":13807,"c":"A wall: 9.","t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":13809,"t":"code","b":[240,8],"m":"beq","oa":13819,"o":"colour_open_cell"},{"a":13811,"t":"code","b":[169,9],"m":"lda","o":"#$09"},{"a":13813,"t":"code","b":[157,80,216],"m":"sta","o":"$D850,x"},{"a":13816,"t":"code","b":[76,255,53],"m":"jmp","oa":13823,"o":"colour_step"},{"a":13819,"l":"colour_open_cell","c":"An open cell: the counter's colour, in Y.","t":"code","b":[152],"m":"tya","x":[13809]},{"a":13820,"t":"code","b":[157,80,216],"m":"sta","o":"$D850,x"},{"a":13823,"l":"colour_step","c":"The counter steps on after every cell, wall or open: 1 to 7, then 1 again.","t":"code","b":[200],"m":"iny","x":[13816]},{"a":13824,"t":"code","b":[192,8],"m":"cpy","o":"#$08"},{"a":13826,"t":"code","b":[208,2],"m":"bne","oa":13830,"o":"b_3606"},{"a":13828,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":13830,"l":"b_3606","t":"code","b":[232],"m":"inx","x":[13826]},{"a":13831,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13833,"t":"code","b":[208,225],"m":"bne","oa":13804,"o":"b_35EC"},{"a":13835,"l":"colour_maze_next","c":"The next 256 cells. X was left at $FF by the loop before, so this pass starts with $064E, which the next pass colours again; the next two passes start the same way.","t":"code","b":[189,79,5],"m":"lda","oa":1359,"o":"f_054F,x","x":[13864]},{"a":13838,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":13840,"t":"code","b":[240,8],"m":"beq","oa":13850,"o":"b_361A"},{"a":13842,"t":"code","b":[169,9],"m":"lda","o":"#$09"},{"a":13844,"t":"code","b":[157,79,217],"m":"sta","o":"$D94F,x"},{"a":13847,"t":"code","b":[76,30,54],"m":"jmp","oa":13854,"o":"j_361E"},{"a":13850,"l":"b_361A","t":"code","b":[152],"m":"tya","x":[13840]},{"a":13851,"t":"code","b":[157,79,217],"m":"sta","o":"$D94F,x"},{"a":13854,"l":"j_361E","t":"code","b":[200],"m":"iny","x":[13847]},{"a":13855,"t":"code","b":[192,8],"m":"cpy","o":"#$08"},{"a":13857,"t":"code","b":[208,2],"m":"bne","oa":13861,"o":"b_3625"},{"a":13859,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":13861,"l":"b_3625","t":"code","b":[232],"m":"inx","x":[13857]},{"a":13862,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13864,"t":"code","b":[208,225],"m":"bne","oa":13835,"o":"colour_maze_next"},{"a":13866,"l":"b_362A","t":"code","b":[189,78,6],"m":"lda","oa":1614,"o":"f_064E,x","x":[13895]},{"a":13869,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":13871,"t":"code","b":[240,8],"m":"beq","oa":13881,"o":"b_3639"},{"a":13873,"t":"code","b":[169,9],"m":"lda","o":"#$09"},{"a":13875,"t":"code","b":[157,78,218],"m":"sta","o":"$DA4E,x"},{"a":13878,"t":"code","b":[76,61,54],"m":"jmp","oa":13885,"o":"j_363D"},{"a":13881,"l":"b_3639","t":"code","b":[152],"m":"tya","x":[13871]},{"a":13882,"t":"code","b":[157,78,218],"m":"sta","o":"$DA4E,x"},{"a":13885,"l":"j_363D","t":"code","b":[200],"m":"iny","x":[13878]},{"a":13886,"t":"code","b":[192,8],"m":"cpy","o":"#$08"},{"a":13888,"t":"code","b":[208,2],"m":"bne","oa":13892,"o":"b_3644"},{"a":13890,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":13892,"l":"b_3644","t":"code","b":[232],"m":"inx","x":[13888]},{"a":13893,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":13895,"t":"code","b":[208,225],"m":"bne","oa":13866,"o":"b_362A"},{"a":13897,"l":"colour_maze_last","c":"The last 75 cells. The first pass, with X = $FF, reads $084C, past the screen, and writes 9 or the cycle's colour to $DC4C, a mirror of CIA 1's serial data register, which the game does not use.","t":"code","b":[189,77,7],"m":"lda","oa":1869,"o":"f_074D,x","x":[13926]},{"a":13900,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":13902,"t":"code","b":[240,8],"m":"beq","oa":13912,"o":"b_3658"},{"a":13904,"t":"code","b":[169,9],"m":"lda","o":"#$09"},{"a":13906,"t":"code","b":[157,77,219],"m":"sta","o":"$DB4D,x"},{"a":13909,"t":"code","b":[76,92,54],"m":"jmp","oa":13916,"o":"j_365C"},{"a":13912,"l":"b_3658","t":"code","b":[152],"m":"tya","x":[13902]},{"a":13913,"t":"code","b":[157,77,219],"m":"sta","o":"$DB4D,x"},{"a":13916,"l":"j_365C","t":"code","b":[200],"m":"iny","x":[13909]},{"a":13917,"t":"code","b":[192,8],"m":"cpy","o":"#$08"},{"a":13919,"t":"code","b":[208,2],"m":"bne","oa":13923,"o":"b_3663"},{"a":13921,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":13923,"l":"b_3663","t":"code","b":[232],"m":"inx","x":[13919]},{"a":13924,"t":"code","b":[224,75],"m":"cpx","o":"#$4B"},{"a":13926,"t":"code","b":[208,225],"m":"bne","oa":13897,"o":"colour_maze_last"},{"a":13928,"t":"code","b":[96],"m":"rts"},{"a":13929,"l":"reset_worms","c":"Coils every worm on its start cell: all eight of worm A's cells at $048E, B's five at $0755, C's at $04CB, D's at $0575 and E's at $06FB. Called at the start of a game and of each level.","t":"code","b":[169,142],"m":"lda","o":"#$8E","x":[14496,15226,15347]},{"a":13931,"t":"code","b":[141,72,38],"m":"sta","oa":9800,"o":"worm_a_head"},{"a":13934,"t":"code","b":[141,74,38],"m":"sta","oa":9802,"o":"worm_a_cell1"},{"a":13937,"t":"code","b":[141,76,38],"m":"sta","oa":9804,"o":"worm_a_cell2"},{"a":13940,"t":"code","b":[141,78,38],"m":"sta","oa":9806,"o":"worm_a_cell3"},{"a":13943,"t":"code","b":[141,80,38],"m":"sta","oa":9808,"o":"worm_a_cell4"},{"a":13946,"t":"code","b":[141,82,38],"m":"sta","oa":9810,"o":"worm_a_cell5"},{"a":13949,"t":"code","b":[141,84,38],"m":"sta","oa":9812,"o":"worm_a_cell6"},{"a":13952,"t":"code","b":[141,86,38],"m":"sta","oa":9814,"o":"worm_a_cell7"},{"a":13955,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":13957,"t":"code","b":[141,73,38],"m":"sta","oa":9801,"o":"worm_a_head_hi"},{"a":13960,"t":"code","b":[141,75,38],"m":"sta","oa":9803,"o":"worm_a_cell1_hi"},{"a":13963,"t":"code","b":[141,77,38],"m":"sta","oa":9805,"o":"worm_a_cell2_hi"},{"a":13966,"t":"code","b":[141,79,38],"m":"sta","oa":9807,"o":"worm_a_cell3_hi"},{"a":13969,"t":"code","b":[141,81,38],"m":"sta","oa":9809,"o":"worm_a_cell4_hi"},{"a":13972,"t":"code","b":[141,83,38],"m":"sta","oa":9811,"o":"worm_a_cell5_hi"},{"a":13975,"t":"code","b":[141,85,38],"m":"sta","oa":9813,"o":"worm_a_cell6_hi"},{"a":13978,"t":"code","b":[141,87,38],"m":"sta","oa":9815,"o":"worm_a_cell7_hi"},{"a":13981,"t":"code","b":[141,99,38],"m":"sta","oa":9827,"o":"worm_c_head_hi"},{"a":13984,"t":"code","b":[141,101,38],"m":"sta","oa":9829,"o":"worm_c_cell1_hi"},{"a":13987,"t":"code","b":[141,103,38],"m":"sta","oa":9831,"o":"worm_c_cell2_hi"},{"a":13990,"t":"code","b":[141,105,38],"m":"sta","oa":9833,"o":"worm_c_cell3_hi"},{"a":13993,"t":"code","b":[141,107,38],"m":"sta","oa":9835,"o":"worm_c_cell4_hi"},{"a":13996,"t":"code","b":[169,85],"m":"lda","o":"#$55"},{"a":13998,"t":"code","b":[141,88,38],"m":"sta","oa":9816,"o":"worm_b_head"},{"a":14001,"t":"code","b":[141,90,38],"m":"sta","oa":9818,"o":"worm_b_cell1"},{"a":14004,"t":"code","b":[141,92,38],"m":"sta","oa":9820,"o":"worm_b_cell2"},{"a":14007,"t":"code","b":[141,94,38],"m":"sta","oa":9822,"o":"worm_b_cell3"},{"a":14010,"t":"code","b":[141,96,38],"m":"sta","oa":9824,"o":"worm_b_cell4"},{"a":14013,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":14015,"t":"code","b":[141,89,38],"m":"sta","oa":9817,"o":"worm_b_head_hi"},{"a":14018,"t":"code","b":[141,91,38],"m":"sta","oa":9819,"o":"worm_b_cell1_hi"},{"a":14021,"t":"code","b":[141,93,38],"m":"sta","oa":9821,"o":"worm_b_cell2_hi"},{"a":14024,"t":"code","b":[141,95,38],"m":"sta","oa":9823,"o":"worm_b_cell3_hi"},{"a":14027,"t":"code","b":[141,97,38],"m":"sta","oa":9825,"o":"worm_b_cell4_hi"},{"a":14030,"t":"code","b":[169,203],"m":"lda","o":"#$CB"},{"a":14032,"t":"code","b":[141,100,38],"m":"sta","oa":9828,"o":"worm_c_cell1"},{"a":14035,"t":"code","b":[141,98,38],"m":"sta","oa":9826,"o":"worm_c_head"},{"a":14038,"t":"code","b":[141,102,38],"m":"sta","oa":9830,"o":"worm_c_cell2"},{"a":14041,"t":"code","b":[141,104,38],"m":"sta","oa":9832,"o":"worm_c_cell3"},{"a":14044,"t":"code","b":[141,106,38],"m":"sta","oa":9834,"o":"worm_c_cell4"},{"a":14047,"t":"code","b":[169,117],"m":"lda","o":"#$75"},{"a":14049,"t":"code","b":[141,108,38],"m":"sta","oa":9836,"o":"worm_d_head"},{"a":14052,"t":"code","b":[141,110,38],"m":"sta","oa":9838,"o":"worm_d_cell1"},{"a":14055,"t":"code","b":[141,112,38],"m":"sta","oa":9840,"o":"worm_d_cell2"},{"a":14058,"t":"code","b":[141,114,38],"m":"sta","oa":9842,"o":"worm_d_cell3"},{"a":14061,"t":"code","b":[141,116,38],"m":"sta","oa":9844,"o":"worm_d_cell4"},{"a":14064,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":14066,"t":"code","b":[141,109,38],"m":"sta","oa":9837,"o":"worm_d_head_hi"},{"a":14069,"t":"code","b":[141,111,38],"m":"sta","oa":9839,"o":"worm_d_cell1_hi"},{"a":14072,"t":"code","b":[141,113,38],"m":"sta","oa":9841,"o":"worm_d_cell2_hi"},{"a":14075,"t":"code","b":[141,115,38],"m":"sta","oa":9843,"o":"worm_d_cell3_hi"},{"a":14078,"t":"code","b":[141,117,38],"m":"sta","oa":9845,"o":"worm_d_cell4_hi"},{"a":14081,"t":"code","b":[169,251],"m":"lda","o":"#$FB"},{"a":14083,"t":"code","b":[141,120,38],"m":"sta","oa":9848,"o":"worm_e_cell1"},{"a":14086,"t":"code","b":[141,118,38],"m":"sta","oa":9846,"o":"worm_e_head"},{"a":14089,"t":"code","b":[141,122,38],"m":"sta","oa":9850,"o":"worm_e_cell2"},{"a":14092,"t":"code","b":[141,124,38],"m":"sta","oa":9852,"o":"worm_e_cell3"},{"a":14095,"t":"code","b":[141,126,38],"m":"sta","oa":9854,"o":"worm_e_cell4"},{"a":14098,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":14100,"t":"code","b":[141,121,38],"m":"sta","oa":9849,"o":"worm_e_cell1_hi"},{"a":14103,"t":"code","b":[141,119,38],"m":"sta","oa":9847,"o":"worm_e_head_hi"},{"a":14106,"t":"code","b":[141,123,38],"m":"sta","oa":9851,"o":"worm_e_cell2_hi"},{"a":14109,"t":"code","b":[141,125,38],"m":"sta","oa":9853,"o":"worm_e_cell3_hi"},{"a":14112,"t":"code","b":[141,127,38],"m":"sta","oa":9855,"o":"worm_e_cell4_hi"},{"a":14115,"t":"code","b":[96],"m":"rts"},{"a":14116,"l":"add_score","c":"Adds 1 to digit X of the score on the top line ($0414-$0418, reversed digits $B0-$B9), carrying into the digit to its left. The score's sixth digit, at $0419, is always 0, so X = 4 adds 10 points and X = 3 adds 100.","t":"code","b":[189,20,4],"m":"lda","oa":1044,"o":"f_0414,x","x":[14131,14168,14189,14339,14356,14361,14378,15366]},{"a":14119,"t":"code","b":[168],"m":"tay"},{"a":14120,"t":"code","b":[200],"m":"iny"},{"a":14121,"t":"code","b":[192,186],"m":"cpy","o":"#$BA"},{"a":14123,"t":"code","b":[208,9],"m":"bne","oa":14134,"o":"b_3736"},{"a":14125,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":14127,"t":"code","b":[157,20,4],"m":"sta","oa":1044,"o":"f_0414,x"},{"a":14130,"t":"code","b":[202],"m":"dex"},{"a":14131,"t":"code","b":[76,36,55],"m":"jmp","oa":14116,"o":"add_score"},{"a":14134,"l":"b_3736","t":"code","b":[152],"m":"tya","x":[14123]},{"a":14135,"t":"code","b":[157,20,4],"m":"sta","oa":1044,"o":"f_0414,x"},{"a":14138,"t":"code","b":[96],"m":"rts"},{"a":14139,"l":"collect_treasure","c":"The player has reached the treasure. Its worth is treasure_value at this moment: 1 nothing, 2 ten points, 3 a hundred; a beep sounds, higher the more it is worth, the treasure_timer starts at 200 and the matching value character is chosen for step_treasure to show.","t":"code","b":[173,132,38],"m":"lda","oa":9860,"o":"treasure_value","x":[15398]},{"a":14142,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":14144,"t":"code","b":[208,16],"m":"bne","oa":14162,"o":"b_3752"},{"a":14146,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":14148,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14151,"t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":14153,"t":"code","b":[141,141,38],"m":"sta","oa":9869,"o":"treasure_timer"},{"a":14156,"t":"code","b":[169,77],"m":"lda","o":"#$4D"},{"a":14158,"t":"code","b":[141,145,38],"m":"sta","oa":9873,"o":"treasure_score_char"},{"a":14161,"t":"code","b":[96],"m":"rts"},{"a":14162,"l":"b_3752","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[14144]},{"a":14164,"t":"code","b":[208,21],"m":"bne","oa":14187,"o":"treasure_100"},{"a":14166,"c":"Ten points.","t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":14168,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":14171,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":14173,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14176,"t":"code","b":[169,76],"m":"lda","o":"#$4C"},{"a":14178,"t":"code","b":[141,145,38],"m":"sta","oa":9873,"o":"treasure_score_char"},{"a":14181,"t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":14183,"t":"code","b":[141,141,38],"m":"sta","oa":9869,"o":"treasure_timer"},{"a":14186,"t":"code","b":[96],"m":"rts"},{"a":14187,"l":"treasure_100","c":"A hundred points.","t":"code","b":[162,3],"m":"ldx","o":"#$03","x":[14164]},{"a":14189,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":14192,"t":"code","b":[169,90],"m":"lda","o":"#$5A"},{"a":14194,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14197,"t":"code","b":[169,75],"m":"lda","o":"#$4B"},{"a":14199,"t":"code","b":[141,145,38],"m":"sta","oa":9873,"o":"treasure_score_char"},{"a":14202,"t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":14204,"t":"code","b":[141,141,38],"m":"sta","oa":9869,"o":"treasure_timer"},{"a":14207,"t":"code","b":[96],"m":"rts"},{"a":14208,"l":"bonus_run","c":"The bonus run after the 255th egg. The border and status lines go yellow and the timer shows 900; \"BONUS RUN\" is spelt out in the middle of the maze, then \"GET READY\". Then the interrupt changes to bonus_irq, which counts the timer down, and the player runs on its own: no worm or treasure moves, and every cell the player leaves becomes a block it cannot enter again. Worm bodies score 100, heads 200, eggs 10. When the timer has run out, the normal interrupt comes back.","t":"code","b":[169,7],"m":"lda","o":"#$07","x":[14465]},{"a":14210,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14213,"t":"code","b":[32,14,36],"m":"jsr","oa":9230,"o":"colour_status_lines"},{"a":14216,"t":"code","b":[169,185],"m":"lda","o":"#$B9"},{"a":14218,"t":"code","b":[141,222,7],"m":"sta","oa":2014,"o":"a_07DE"},{"a":14221,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14223,"l":"show_bonus_run","c":"Each letter of \"BONUS RUN\" with two beeps; the nine maze characters underneath are kept on the stack.","t":"code","b":[189,197,5],"m":"lda","oa":1477,"o":"f_05C5,x","x":[14262]},{"a":14226,"t":"code","b":[72],"m":"pha"},{"a":14227,"t":"code","b":[189,212,38],"m":"lda","oa":9940,"o":"str_bonus_run,x"},{"a":14230,"t":"code","b":[157,197,5],"m":"sta","oa":1477,"o":"f_05C5,x"},{"a":14233,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":14235,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14238,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14240,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14242,"l":"b_37A2","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14244]},{"a":14244,"t":"code","b":[48,252],"m":"bmi","oa":14242,"o":"b_37A2"},{"a":14246,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":14248,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14251,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14253,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14255,"l":"b_37AF","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14257]},{"a":14257,"t":"code","b":[48,252],"m":"bmi","oa":14255,"o":"b_37AF"},{"a":14259,"t":"code","b":[232],"m":"inx"},{"a":14260,"t":"code","b":[224,9],"m":"cpx","o":"#$09"},{"a":14262,"t":"code","b":[208,215],"m":"bne","oa":14223,"o":"show_bonus_run"},{"a":14264,"c":"A pause of about two seconds (bonus_tune_reset waits 127 jiffies and sets the bonus tune back to its start).","t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":14266,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14268,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14270,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14273,"t":"code","b":[32,75,61],"m":"jsr","oa":15691,"o":"bonus_tune_reset"},{"a":14276,"t":"code","b":[234],"m":"nop"},{"a":14277,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14279,"l":"bonus_get_ready","c":"\"GET READY\" over the same nine cells, for 56 jiffies, then the maze characters back from the stack.","t":"code","b":[189,192,38],"m":"lda","oa":9920,"o":"str_get_ready,x","x":[14288]},{"a":14282,"t":"code","b":[157,197,5],"m":"sta","oa":1477,"o":"f_05C5,x"},{"a":14285,"t":"code","b":[232],"m":"inx"},{"a":14286,"t":"code","b":[224,9],"m":"cpx","o":"#$09"},{"a":14288,"t":"code","b":[208,245],"m":"bne","oa":14279,"o":"bonus_get_ready"},{"a":14290,"t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":14292,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14294,"l":"b_37D6","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14296]},{"a":14296,"t":"code","b":[48,252],"m":"bmi","oa":14294,"o":"b_37D6"},{"a":14298,"t":"code","b":[162,8],"m":"ldx","o":"#$08"},{"a":14300,"l":"b_37DC","t":"code","b":[104],"m":"pla","x":[14307]},{"a":14301,"t":"code","b":[157,197,5],"m":"sta","oa":1477,"o":"f_05C5,x"},{"a":14304,"t":"code","b":[202],"m":"dex"},{"a":14305,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":14307,"t":"code","b":[208,247],"m":"bne","oa":14300,"o":"b_37DC"},{"a":14309,"c":"The interrupt vector to bonus_irq, $3D27, for the length of the bonus run.","t":"code","b":[120],"m":"sei"},{"a":14310,"t":"code","b":[169,39],"m":"lda","o":"#$27"},{"a":14312,"t":"code","b":[141,20,3],"m":"sta","oa":788,"o":"irq_vector"},{"a":14315,"t":"code","b":[169,61],"m":"lda","o":"#$3D"},{"a":14317,"t":"code","b":[141,21,3],"m":"sta","oa":789,"o":"irq_vector_hi"},{"a":14320,"t":"code","b":[88],"m":"cli"},{"a":14321,"l":"bonus_loop","c":"The bonus run's loop: a step of the player, then what it landed on.","t":"code","b":[32,110,48],"m":"jsr","oa":12398,"o":"move_player","x":[14431]},{"a":14324,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14326,"t":"code","b":[177,251],"m":"lda","oa":251,"o":"(player_pos),y"},{"a":14328,"c":"A worm's body: 100 points.","t":"code","b":[201,68],"m":"cmp","o":"#$44"},{"a":14330,"t":"code","b":[208,13],"m":"bne","oa":14345,"o":"bonus_ate_head"},{"a":14332,"t":"code","b":[169,50],"m":"lda","o":"#$32"},{"a":14334,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14337,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":14339,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":14342,"t":"code","b":[76,45,56],"m":"jmp","oa":14381,"o":"bonus_next_note"},{"a":14345,"l":"bonus_ate_head","c":"A worm's head: 100 points twice.","t":"code","b":[201,67],"m":"cmp","o":"#$43","x":[14330]},{"a":14347,"t":"code","b":[208,18],"m":"bne","oa":14367,"o":"bonus_ate_egg"},{"a":14349,"t":"code","b":[169,70],"m":"lda","o":"#$46"},{"a":14351,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14354,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":14356,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":14359,"t":"code","b":[162,3],"m":"ldx","o":"#$03"},{"a":14361,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":14364,"t":"code","b":[76,45,56],"m":"jmp","oa":14381,"o":"bonus_next_note"},{"a":14367,"l":"bonus_ate_egg","c":"An egg: 10 points.","t":"code","b":[201,70],"m":"cmp","o":"#$46","x":[14347]},{"a":14369,"t":"code","b":[208,10],"m":"bne","oa":14381,"o":"bonus_next_note"},{"a":14371,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":14373,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14376,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":14378,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":14381,"l":"bonus_next_note","c":"The next note of the bonus tune on voice 2, then five NOPs.","t":"code","b":[32,92,61],"m":"jsr","oa":15708,"o":"bonus_tune_step","x":[14342,14364,14369]},{"a":14384,"t":"code","b":[234],"m":"nop"},{"a":14385,"t":"code","b":[234],"m":"nop"},{"a":14386,"t":"code","b":[234],"m":"nop"},{"a":14387,"t":"code","b":[234],"m":"nop"},{"a":14388,"t":"code","b":[234],"m":"nop"},{"a":14389,"c":"The wait for this step, the same as in play (step_delay).","t":"code","b":[173,137,38],"m":"lda","oa":9865,"o":"step_delay"},{"a":14392,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14394,"c":"If the player moved, the cell it left becomes character $00, a solid block, which try_cell treats as a wall.","t":"code","b":[165,87],"m":"lda","oa":87,"o":"player_dir"},{"a":14396,"t":"code","b":[201,239],"m":"cmp","o":"#$EF"},{"a":14398,"t":"code","b":[240,6],"m":"beq","oa":14406,"o":"b_3846"},{"a":14400,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14402,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14404,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":14406,"l":"b_3846","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[14398]},{"a":14408,"t":"code","b":[169,81],"m":"lda","o":"#$51"},{"a":14410,"t":"code","b":[145,251],"m":"sta","oa":251,"o":"(player_pos),y"},{"a":14412,"l":"bonus_wait","c":"While waiting, watch the timer's hundreds digit: when it has gone below 0 ($AF, the character before the reversed 0), the run is over.","t":"code","b":[173,222,7],"m":"lda","oa":2014,"o":"a_07DE","x":[14424]},{"a":14415,"t":"code","b":[201,175],"m":"cmp","o":"#$AF"},{"a":14417,"t":"code","b":[208,3],"m":"bne","oa":14422,"o":"b_3856"},{"a":14419,"t":"code","b":[76,98,56],"m":"jmp","oa":14434,"o":"end_bonus_run"},{"a":14422,"l":"b_3856","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14417]},{"a":14424,"t":"code","b":[48,242],"m":"bmi","oa":14412,"o":"bonus_wait"},{"a":14426,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14428,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14431,"t":"code","b":[76,241,55],"m":"jmp","oa":14321,"o":"bonus_loop"},{"a":14434,"l":"end_bonus_run","c":"The end of the bonus run: the normal interrupt back, both voices quiet, the timer shown as 000.","t":"code","b":[32,11,61],"m":"jsr","oa":15627,"o":"install_irq","x":[14419]},{"a":14437,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14439,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14442,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":14445,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":14447,"t":"code","b":[141,222,7],"m":"sta","oa":2014,"o":"a_07DE"},{"a":14450,"t":"code","b":[141,223,7],"m":"sta","oa":2015,"o":"a_07DF"},{"a":14453,"t":"code","b":[141,224,7],"m":"sta","oa":2016,"o":"a_07E0"},{"a":14456,"t":"code","b":[96],"m":"rts"},{"a":14457,"l":"level_complete","c":"The 255th egg: the bonus run, then the next level. level_stage and the level number on the top line go up by one, the egg count and the worms start again, and \"GET READY\" stays up while the first 30 steps of the title tune play, five seconds. \"LEVEL\" and the number are spelt out, a pause, and the next maze is drawn and coloured, the player on its start cell at the left edge, moving up.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[15382]},{"a":14459,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14462,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":14465,"t":"code","b":[32,128,55],"m":"jsr","oa":14208,"o":"bonus_run"},{"a":14468,"t":"code","b":[238,136,38],"m":"inc","oa":9864,"o":"level_stage"},{"a":14471,"c":"The level's units digit. After 9 the tens digit is set to 1, not increased, so level 19 is followed by a second level 10, and the number then runs 10 to 19 over and over.","t":"code","b":[238,36,4],"m":"inc","oa":1060,"o":"a_0424"},{"a":14474,"t":"code","b":[173,36,4],"m":"lda","oa":1060,"o":"a_0424"},{"a":14477,"t":"code","b":[201,186],"m":"cmp","o":"#$BA"},{"a":14479,"t":"code","b":[208,10],"m":"bne","oa":14491,"o":"b_389B"},{"a":14481,"t":"code","b":[169,177],"m":"lda","o":"#$B1"},{"a":14483,"t":"code","b":[141,35,4],"m":"sta","oa":1059,"o":"a_0423"},{"a":14486,"t":"code","b":[169,176],"m":"lda","o":"#$B0"},{"a":14488,"t":"code","b":[141,36,4],"m":"sta","oa":1060,"o":"a_0424"},{"a":14491,"l":"b_389B","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14479]},{"a":14493,"t":"code","b":[141,144,38],"m":"sta","oa":9872,"o":"egg_count"},{"a":14496,"t":"code","b":[32,105,54],"m":"jsr","oa":13929,"o":"reset_worms"},{"a":14499,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14501,"l":"show_get_ready","c":"\"GET READY\" in the middle of the maze.","t":"code","b":[189,192,38],"m":"lda","oa":9920,"o":"str_get_ready,x","x":[14510]},{"a":14504,"t":"code","b":[157,197,5],"m":"sta","oa":1477,"o":"f_05C5,x"},{"a":14507,"t":"code","b":[232],"m":"inx"},{"a":14508,"t":"code","b":[224,9],"m":"cpx","o":"#$09"},{"a":14510,"t":"code","b":[208,245],"m":"bne","oa":14501,"o":"show_get_ready"},{"a":14512,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14514,"l":"level_jingle","c":"The first 30 steps of the title tune on voices 1 and 2, 10 jiffies each.","t":"code","b":[189,128,62],"m":"lda","oa":16000,"o":"title_tune_voice1,x","x":[14537]},{"a":14517,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14520,"t":"code","b":[189,228,62],"m":"lda","oa":16100,"o":"title_tune_voice2,x"},{"a":14523,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":14526,"t":"code","b":[169,246],"m":"lda","o":"#$F6"},{"a":14528,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14530,"l":"b_38C2","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14532]},{"a":14532,"t":"code","b":[48,252],"m":"bmi","oa":14530,"o":"b_38C2"},{"a":14534,"t":"code","b":[232],"m":"inx"},{"a":14535,"t":"code","b":[224,30],"m":"cpx","o":"#$1E"},{"a":14537,"t":"code","b":[208,231],"m":"bne","oa":14514,"o":"level_jingle"},{"a":14539,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":14541,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":14544,"l":"show_level","c":"\"LEVEL\" letter by letter, in white, each with two short beeps; then the two digits from the top line go after it.","t":"code","b":[189,202,38],"m":"lda","oa":9930,"o":"str_level,x","x":[14584]},{"a":14547,"t":"code","b":[157,197,5],"m":"sta","oa":1477,"o":"f_05C5,x"},{"a":14550,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":14552,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14555,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14557,"t":"code","b":[157,197,217],"m":"sta","o":"$D9C5,x"},{"a":14560,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14562,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14564,"l":"b_38E4","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14566]},{"a":14566,"t":"code","b":[48,252],"m":"bmi","oa":14564,"o":"b_38E4"},{"a":14568,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":14570,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14573,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":14575,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":14577,"l":"b_38F1","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[14579]},{"a":14579,"t":"code","b":[48,252],"m":"bmi","oa":14577,"o":"b_38F1"},{"a":14581,"t":"code","b":[232],"m":"inx"},{"a":14582,"t":"code","b":[224,9],"m":"cpx","o":"#$09"},{"a":14584,"t":"code","b":[208,214],"m":"bne","oa":14544,"o":"show_level"},{"a":14586,"t":"code","b":[173,35,4],"m":"lda","oa":1059,"o":"a_0423"},{"a":14589,"t":"code","b":[141,204,5],"m":"sta","oa":1484,"o":"a_05CC"},{"a":14592,"t":"code","b":[173,36,4],"m":"lda","oa":1060,"o":"a_0424"},{"a":14595,"t":"code","b":[141,205,5],"m":"sta","oa":1485,"o":"a_05CD"},{"a":14598,"t":"code","b":[32,118,61],"m":"jsr","oa":15734,"o":"level_pause"},{"a":14601,"t":"code","b":[234],"m":"nop"},{"a":14602,"t":"code","b":[234],"m":"nop"},{"a":14603,"t":"code","b":[234],"m":"nop"},{"a":14604,"t":"code","b":[234],"m":"nop"},{"a":14605,"t":"code","b":[234],"m":"nop"},{"a":14606,"c":"The next maze: maze_number steps 1, 2, 3 and back to 1.","t":"code","b":[238,130,38],"m":"inc","oa":9858,"o":"maze_number"},{"a":14609,"t":"code","b":[173,130,38],"m":"lda","oa":9858,"o":"maze_number"},{"a":14612,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":14614,"t":"code","b":[208,5],"m":"bne","oa":14621,"o":"b_391D"},{"a":14616,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14618,"t":"code","b":[141,130,38],"m":"sta","oa":9858,"o":"maze_number"},{"a":14621,"l":"b_391D","t":"code","b":[201,1],"m":"cmp","o":"#$01","x":[14614]},{"a":14623,"t":"code","b":[208,6],"m":"bne","oa":14631,"o":"b_3927"},{"a":14625,"t":"code","b":[32,106,36],"m":"jsr","oa":9322,"o":"show_maze1"},{"a":14628,"t":"code","b":[76,52,57],"m":"jmp","oa":14644,"o":"start_level"},{"a":14631,"l":"b_3927","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[14623]},{"a":14633,"t":"code","b":[208,6],"m":"bne","oa":14641,"o":"b_3931"},{"a":14635,"t":"code","b":[32,145,36],"m":"jsr","oa":9361,"o":"show_maze2"},{"a":14638,"t":"code","b":[76,52,57],"m":"jmp","oa":14644,"o":"start_level"},{"a":14641,"l":"b_3931","t":"code","b":[32,184,36],"m":"jsr","oa":9400,"o":"show_maze3","x":[14633]},{"a":14644,"l":"start_level","c":"Colour the new maze; border and status lines red; voice 1 quiet; the treasure's note and timer to 0.","t":"code","b":[32,232,53],"m":"jsr","oa":13800,"o":"colour_maze","x":[14628,14638]},{"a":14647,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":14649,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":14652,"t":"code","b":[32,14,36],"m":"jsr","oa":9230,"o":"colour_status_lines"},{"a":14655,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":14657,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14660,"t":"code","b":[141,143,38],"m":"sta","oa":9871,"o":"treasure_note"},{"a":14663,"t":"code","b":[141,141,38],"m":"sta","oa":9869,"o":"treasure_timer"},{"a":14666,"c":"The player starts moving up ($FE) from $05E0, row 12, column 0, the left exit; the treasure from $0755.","t":"code","b":[169,254],"m":"lda","o":"#$FE"},{"a":14668,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":14670,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":14672,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":14674,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":14676,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"player_pos_hi"},{"a":14678,"t":"code","b":[169,85],"m":"lda","o":"#$55"},{"a":14680,"t":"code","b":[141,138,38],"m":"sta","oa":9866,"o":"treasure_pos"},{"a":14683,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":14685,"t":"code","b":[141,139,38],"m":"sta","oa":9867,"o":"treasure_pos_hi"},{"a":14688,"t":"code","b":[96],"m":"rts"},{"a":14689,"l":"move_treasure","c":"Moves the treasure one step, the way the worms move: its old cell is cleared to a space, up to four directions are tried with the shared worm_direction, and if all are blocked it goes back to $0755. It is drawn with treasure_char, and voice 2 plays the next of 29 notes taken from title_tune_voice1, one for each step.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14837]},{"a":14691,"t":"code","b":[141,129,38],"m":"sta","oa":9857,"o":"worm_tries"},{"a":14694,"t":"code","b":[173,138,38],"m":"lda","oa":9866,"o":"treasure_pos"},{"a":14697,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":14699,"t":"code","b":[173,139,38],"m":"lda","oa":9867,"o":"treasure_pos_hi"},{"a":14702,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":14704,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":14706,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14708,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":14710,"l":"j_3976","t":"code","b":[238,129,38],"m":"inc","oa":9857,"o":"worm_tries","x":[14745]},{"a":14713,"t":"code","b":[173,129,38],"m":"lda","oa":9857,"o":"worm_tries"},{"a":14716,"t":"code","b":[201,5],"m":"cmp","o":"#$05"},{"a":14718,"t":"code","b":[240,43],"m":"beq","oa":14763,"o":"b_39AB"},{"a":14720,"t":"code","b":[173,138,38],"m":"lda","oa":9866,"o":"treasure_pos"},{"a":14723,"t":"code","b":[141,134,38],"m":"sta","oa":9862,"o":"worm_probe"},{"a":14726,"t":"code","b":[173,139,38],"m":"lda","oa":9867,"o":"treasure_pos_hi"},{"a":14729,"t":"code","b":[141,135,38],"m":"sta","oa":9863,"o":"worm_probe_hi"},{"a":14732,"t":"code","b":[32,61,51],"m":"jsr","oa":13117,"o":"next_worm_direction"},{"a":14735,"t":"code","b":[173,128,38],"m":"lda","oa":9856,"o":"worm_direction"},{"a":14738,"t":"code","b":[32,239,50],"m":"jsr","oa":13039,"o":"try_worm_step"},{"a":14741,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":14743,"t":"code","b":[208,3],"m":"bne","oa":14748,"o":"b_399C"},{"a":14745,"t":"code","b":[76,118,57],"m":"jmp","oa":14710,"o":"j_3976"},{"a":14748,"l":"b_399C","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[14743]},{"a":14751,"t":"code","b":[141,138,38],"m":"sta","oa":9866,"o":"treasure_pos"},{"a":14754,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":14757,"t":"code","b":[141,139,38],"m":"sta","oa":9867,"o":"treasure_pos_hi"},{"a":14760,"t":"code","b":[76,181,57],"m":"jmp","oa":14773,"o":"j_39B5"},{"a":14763,"l":"b_39AB","t":"code","b":[169,85],"m":"lda","o":"#$55","x":[14718]},{"a":14765,"t":"code","b":[141,138,38],"m":"sta","oa":9866,"o":"treasure_pos"},{"a":14768,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":14770,"t":"code","b":[141,139,38],"m":"sta","oa":9867,"o":"treasure_pos_hi"},{"a":14773,"l":"j_39B5","t":"code","b":[173,138,38],"m":"lda","oa":9866,"o":"treasure_pos","x":[14760]},{"a":14776,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":14778,"t":"code","b":[173,139,38],"m":"lda","oa":9867,"o":"treasure_pos_hi"},{"a":14781,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":14783,"t":"code","b":[173,142,38],"m":"lda","oa":9870,"o":"treasure_char"},{"a":14786,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14788,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":14790,"c":"The treasure's note: 1 to 29, then 1 again.","t":"code","b":[238,143,38],"m":"inc","oa":9871,"o":"treasure_note"},{"a":14793,"t":"code","b":[173,143,38],"m":"lda","oa":9871,"o":"treasure_note"},{"a":14796,"t":"code","b":[201,30],"m":"cmp","o":"#$1E"},{"a":14798,"t":"code","b":[208,5],"m":"bne","oa":14805,"o":"b_39D5"},{"a":14800,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14802,"t":"code","b":[141,143,38],"m":"sta","oa":9871,"o":"treasure_note"},{"a":14805,"l":"b_39D5","t":"code","b":[174,143,38],"m":"ldx","oa":9871,"o":"treasure_note","x":[14798]},{"a":14808,"t":"code","b":[189,128,62],"m":"lda","oa":16000,"o":"title_tune_voice1,x"},{"a":14811,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":14814,"t":"code","b":[96],"m":"rts"},{"a":14815,"l":"step_treasure","c":"The treasure's part of each pass, from the second level of each cycle of four. It first steps treasure_value on (1, 2, 3, 1...), so the worth of a treasure depends on the pass it is collected on. With treasure_timer at 0 the treasure moves. After a collection the timer counts down: from 199 to 180 the value character is drawn where it was taken; at 170 that cell is cleared and the treasure, now the other picture, waits at $0755 until the timer reaches 0.","t":"code","b":[238,132,38],"m":"inc","oa":9860,"o":"treasure_value","x":[14936,14947,14958]},{"a":14818,"t":"code","b":[173,132,38],"m":"lda","oa":9860,"o":"treasure_value"},{"a":14821,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":14823,"t":"code","b":[208,5],"m":"bne","oa":14830,"o":"b_39EE"},{"a":14825,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14827,"t":"code","b":[141,132,38],"m":"sta","oa":9860,"o":"treasure_value"},{"a":14830,"l":"b_39EE","t":"code","b":[173,141,38],"m":"lda","oa":9869,"o":"treasure_timer","x":[14823]},{"a":14833,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":14835,"t":"code","b":[208,3],"m":"bne","oa":14840,"o":"b_39F8"},{"a":14837,"t":"code","b":[76,97,57],"m":"jmp","oa":14689,"o":"move_treasure"},{"a":14840,"l":"b_39F8","t":"code","b":[206,141,38],"m":"dec","oa":9869,"o":"treasure_timer","x":[14835]},{"a":14843,"t":"code","b":[173,141,38],"m":"lda","oa":9869,"o":"treasure_timer"},{"a":14846,"t":"code","b":[24],"m":"clc"},{"a":14847,"t":"code","b":[201,180],"m":"cmp","o":"#$B4"},{"a":14849,"t":"code","b":[144,18],"m":"bcc","oa":14869,"o":"treasure_timeout"},{"a":14851,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14853,"t":"code","b":[173,138,38],"m":"lda","oa":9866,"o":"treasure_pos"},{"a":14856,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":14858,"t":"code","b":[173,139,38],"m":"lda","oa":9867,"o":"treasure_pos_hi"},{"a":14861,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":14863,"t":"code","b":[173,145,38],"m":"lda","oa":9873,"o":"treasure_score_char"},{"a":14866,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":14868,"t":"code","b":[96],"m":"rts"},{"a":14869,"l":"treasure_timeout","c":"At 170: clear the value, back to the start cell, and the next picture: $47, $49, then $4B, which is set back to $47.","t":"code","b":[201,170],"m":"cmp","o":"#$AA","x":[14849]},{"a":14871,"t":"code","b":[208,44],"m":"bne","oa":14917,"o":"r_3A45"},{"a":14873,"t":"code","b":[173,138,38],"m":"lda","oa":9866,"o":"treasure_pos"},{"a":14876,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":14878,"t":"code","b":[173,139,38],"m":"lda","oa":9867,"o":"treasure_pos_hi"},{"a":14881,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":14883,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":14885,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14887,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":14889,"t":"code","b":[169,85],"m":"lda","o":"#$55"},{"a":14891,"t":"code","b":[141,138,38],"m":"sta","oa":9866,"o":"treasure_pos"},{"a":14894,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":14896,"t":"code","b":[141,139,38],"m":"sta","oa":9867,"o":"treasure_pos_hi"},{"a":14899,"t":"code","b":[238,142,38],"m":"inc","oa":9870,"o":"treasure_char"},{"a":14902,"t":"code","b":[238,142,38],"m":"inc","oa":9870,"o":"treasure_char"},{"a":14905,"t":"code","b":[173,142,38],"m":"lda","oa":9870,"o":"treasure_char"},{"a":14908,"t":"code","b":[201,75],"m":"cmp","o":"#$4B"},{"a":14910,"t":"code","b":[208,5],"m":"bne","oa":14917,"o":"r_3A45"},{"a":14912,"t":"code","b":[169,71],"m":"lda","o":"#$47"},{"a":14914,"t":"code","b":[141,142,38],"m":"sta","oa":9870,"o":"treasure_char"},{"a":14917,"l":"r_3A45","t":"code","b":[96],"m":"rts","x":[14871,14910]},{"a":14918,"l":"move_creatures","c":"Moves what level_stage says should move this pass: at 1 worms C, D and E; at 2 those and the treasure; at 3 worm B as well; at 4 all five worms and the treasure. At 5 it makes the game one jiffy faster (step_delay), sets the stage back to 1 and starts again. The main loop calls it first in every pass.","t":"code","b":[173,136,38],"m":"lda","oa":9864,"o":"level_stage","x":[14970,15350]},{"a":14921,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":14923,"t":"code","b":[208,4],"m":"bne","oa":14929,"o":"b_3A51"},{"a":14925,"t":"code","b":[32,87,52],"m":"jsr","oa":13399,"o":"step_worm_c"},{"a":14928,"t":"code","b":[96],"m":"rts"},{"a":14929,"l":"b_3A51","t":"code","b":[201,2],"m":"cmp","o":"#$02","x":[14923]},{"a":14931,"t":"code","b":[208,7],"m":"bne","oa":14940,"o":"b_3A5C"},{"a":14933,"t":"code","b":[32,87,52],"m":"jsr","oa":13399,"o":"step_worm_c"},{"a":14936,"t":"code","b":[32,223,57],"m":"jsr","oa":14815,"o":"step_treasure"},{"a":14939,"t":"code","b":[96],"m":"rts"},{"a":14940,"l":"b_3A5C","t":"code","b":[201,3],"m":"cmp","o":"#$03","x":[14931]},{"a":14942,"t":"code","b":[208,7],"m":"bne","oa":14951,"o":"b_3A67"},{"a":14944,"t":"code","b":[32,210,51],"m":"jsr","oa":13266,"o":"step_worm_b"},{"a":14947,"t":"code","b":[32,223,57],"m":"jsr","oa":14815,"o":"step_treasure"},{"a":14950,"t":"code","b":[96],"m":"rts"},{"a":14951,"l":"b_3A67","t":"code","b":[201,4],"m":"cmp","o":"#$04","x":[14942]},{"a":14953,"t":"code","b":[208,7],"m":"bne","oa":14962,"o":"next_cycle"},{"a":14955,"t":"code","b":[32,77,51],"m":"jsr","oa":13133,"o":"step_worm_a"},{"a":14958,"t":"code","b":[32,223,57],"m":"jsr","oa":14815,"o":"step_treasure"},{"a":14961,"t":"code","b":[96],"m":"rts"},{"a":14962,"l":"next_cycle","c":"The fifth stage: faster, and back to the first.","t":"code","b":[238,137,38],"m":"inc","oa":9865,"o":"step_delay","x":[14953]},{"a":14965,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":14967,"t":"code","b":[141,136,38],"m":"sta","oa":9864,"o":"level_stage"},{"a":14970,"t":"code","b":[76,70,58],"m":"jmp","oa":14918,"o":"move_creatures"},{"a":14973,"l":"lose_life","c":"The player has run into a worm. With voice 1 switched to noise, the player's figure drops down the screen, a row each 3 jiffies and drawn over whatever it passes, until the cell below is the status line ($A0). Then the player is put back on its start cell, the maze's walls flash through the colours as $D022 and $D023 count from 0 to 15, one of the lives on the bottom line is wiped, and after two seconds the player stands still on its start cell.","t":"code","b":[169,129],"m":"lda","o":"#$81","x":[15116,15425]},{"a":14975,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":14978,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":14980,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":14983,"c":"Clear both the cell the player is on and the one it came from.","t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":14985,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":14987,"t":"code","b":[145,251],"m":"sta","oa":251,"o":"(player_pos),y"},{"a":14989,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":14991,"l":"fall_row","c":"The fall, a row at a time. DEC $D401 means to lower the noise's pitch, but the SID's registers cannot be read: the read returns the chip's data bus, the last value written to it, until that fades. The first step reads the $14 just written and writes $13. Each later step comes three jiffies after the last write to the chip, longer than VICE's 6581 holds the bus (7,424 cycles) and shorter than its 8580 does, so on an 8580 the pitch falls a step a row and on a 6581 it reads 0 and jumps to $FF. Then the character underneath is kept, the player drawn, a wait, the character put back, one row down.","t":"code","b":[206,1,212],"m":"dec","o":"sid_v1_freq_hi","x":[15029]},{"a":14994,"t":"code","b":[177,251],"m":"lda","oa":251,"o":"(player_pos),y"},{"a":14996,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":14998,"t":"code","b":[169,81],"m":"lda","o":"#$51"},{"a":15000,"t":"code","b":[145,251],"m":"sta","oa":251,"o":"(player_pos),y"},{"a":15002,"t":"code","b":[169,253],"m":"lda","o":"#$FD"},{"a":15004,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15006,"l":"b_3A9E","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15008]},{"a":15008,"t":"code","b":[48,252],"m":"bmi","oa":15006,"o":"b_3A9E"},{"a":15010,"t":"code","b":[165,253],"m":"lda","oa":253,"o":"old_pos"},{"a":15012,"t":"code","b":[145,251],"m":"sta","oa":251,"o":"(player_pos),y"},{"a":15014,"t":"code","b":[24],"m":"clc"},{"a":15015,"t":"code","b":[165,251],"m":"lda","oa":251,"o":"player_pos"},{"a":15017,"t":"code","b":[105,40],"m":"adc","o":"#$28"},{"a":15019,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":15021,"t":"code","b":[144,2],"m":"bcc","oa":15025,"o":"b_3AB1"},{"a":15023,"t":"code","b":[230,252],"m":"inc","oa":252,"o":"player_pos_hi"},{"a":15025,"l":"b_3AB1","t":"code","b":[177,251],"m":"lda","oa":251,"o":"(player_pos),y","x":[15021]},{"a":15027,"t":"code","b":[201,160],"m":"cmp","o":"#$A0"},{"a":15029,"t":"code","b":[208,216],"m":"bne","oa":14991,"o":"fall_row"},{"a":15031,"c":"Pulse wave again and both voices quiet; the player back to $05E0.","t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":15033,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":15036,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15038,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15041,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15044,"t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":15046,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":15048,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":15050,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":15052,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"player_pos_hi"},{"a":15054,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":15056,"c":"The wall flash: the two shared multicolour registers count up together, one step a jiffy, until $D023's colour is 15.","t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15058,"t":"code","b":[141,34,208],"m":"sta","o":"vic_background1"},{"a":15061,"t":"code","b":[141,35,208],"m":"sta","o":"vic_background2"},{"a":15064,"l":"b_3AD8","t":"code","b":[238,34,208],"m":"inc","o":"vic_background1","x":[15083]},{"a":15067,"t":"code","b":[238,35,208],"m":"inc","o":"vic_background2"},{"a":15070,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":15072,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15074,"l":"b_3AE2","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15076]},{"a":15076,"t":"code","b":[48,252],"m":"bmi","oa":15074,"o":"b_3AE2"},{"a":15078,"t":"code","b":[32,141,60],"m":"jsr","oa":15501,"o":"wall_colour"},{"a":15081,"t":"code","b":[201,15],"m":"cmp","o":"#$0F"},{"a":15083,"t":"code","b":[208,235],"m":"bne","oa":15064,"o":"b_3AD8"},{"a":15085,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":15087,"t":"code","b":[141,34,208],"m":"sta","o":"vic_background1"},{"a":15090,"t":"code","b":[141,35,208],"m":"sta","o":"vic_background2"},{"a":15093,"c":"Wipe the life whose number is lives, already one less: the third life icon at $07CA goes first. The LDA #$81 here is overwritten by the LDA two instructions later.","t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":15095,"t":"code","b":[174,133,38],"m":"ldx","oa":9861,"o":"lives"},{"a":15098,"t":"code","b":[169,160],"m":"lda","o":"#$A0"},{"a":15100,"t":"code","b":[157,200,7],"m":"sta","oa":1992,"o":"f_07C8,x"},{"a":15103,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":15105,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15107,"l":"b_3B03","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15109]},{"a":15109,"t":"code","b":[48,252],"m":"bmi","oa":15107,"o":"b_3B03"},{"a":15111,"c":"The player stands still until the stick moves it.","t":"code","b":[169,239],"m":"lda","o":"#$EF"},{"a":15113,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":15115,"t":"code","b":[96],"m":"rts"},{"a":15116,"l":"game_over","c":"The last life lost: the fall of lose_life, both voices quiet, the high-score screen and name entry (game_over_screen), then a new game through new_game.","t":"code","b":[32,125,58],"m":"jsr","oa":14973,"o":"lose_life","x":[15422]},{"a":15119,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15121,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15124,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15127,"t":"code","b":[32,102,50],"m":"jsr","oa":12902,"o":"game_over_screen"},{"a":15130,"t":"code","b":[76,37,59],"m":"jmp","oa":15141,"o":"new_game"},{"a":15133,"l":"start","c":"The entry point, SYS 15133 in the BASIC line. It points the interrupt at irq_handler and the VIC at the game's character set ($D018 = $1A: screen at $0400, characters at $2800), then runs into new_game.","t":"code","b":[32,11,61],"m":"jsr","oa":15627,"o":"install_irq"},{"a":15136,"t":"code","b":[169,26],"m":"lda","o":"#$1A"},{"a":15138,"t":"code","b":[141,24,208],"m":"sta","o":"vic_memory"},{"a":15141,"l":"new_game","c":"Sets up a game: black background, the SID's voices 1 and 2 on pulse waves at full volume, voice 3 off, blue multicolour, red border and status lines, the status lines drawn from their templates, which sets the score back to 0, then the title with its colours. The worms, the player, the treasure, lives (3) and the counters are reset, and the title tune plays until fire is pressed. Then the first maze is drawn in multicolour and play begins.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[15130]},{"a":15143,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":15146,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15149,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15152,"t":"code","b":[141,18,212],"m":"sta","o":"sid_v3_control"},{"a":15155,"c":"Attack 8, decay 8, sustain 8, release 8 on voices 1 and 2.","t":"code","b":[169,136],"m":"lda","o":"#$88"},{"a":15157,"t":"code","b":[141,5,212],"m":"sta","o":"sid_v1_attack_decay"},{"a":15160,"t":"code","b":[141,6,212],"m":"sta","o":"sid_v1_sustain_release"},{"a":15163,"t":"code","b":[141,12,212],"m":"sta","o":"sid_v2_attack_decay"},{"a":15166,"t":"code","b":[141,13,212],"m":"sta","o":"sid_v2_sustain_release"},{"a":15169,"c":"Voices 1 and 2: pulse wave, gate on. Most of the game's sounds are then made by writing only the high byte of a voice's pitch, 0 for silence.","t":"code","b":[169,65],"m":"lda","o":"#$41"},{"a":15171,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":15174,"t":"code","b":[141,11,212],"m":"sta","o":"sid_v2_control"},{"a":15177,"t":"code","b":[169,10],"m":"lda","o":"#$0A"},{"a":15179,"t":"code","b":[141,3,212],"m":"sta","o":"sid_v1_pulse_hi"},{"a":15182,"t":"code","b":[141,2,212],"m":"sta","o":"sid_v1_pulse_lo"},{"a":15185,"t":"code","b":[141,9,212],"m":"sta","o":"sid_v2_pulse_lo"},{"a":15188,"t":"code","b":[141,10,212],"m":"sta","o":"sid_v2_pulse_hi"},{"a":15191,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":15193,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":15196,"c":"The two shared multicolour registers, which colour the maze walls: blue.","t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":15198,"t":"code","b":[141,34,208],"m":"sta","o":"vic_background1"},{"a":15201,"t":"code","b":[141,35,208],"m":"sta","o":"vic_background2"},{"a":15204,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":15206,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":15209,"t":"code","b":[32,14,36],"m":"jsr","oa":9230,"o":"colour_status_lines"},{"a":15212,"t":"code","b":[32,250,35],"m":"jsr","oa":9210,"o":"draw_status_lines"},{"a":15215,"c":"$C8: multicolour off for the title.","t":"code","b":[169,200],"m":"lda","o":"#$C8"},{"a":15217,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":15220,"t":"code","b":[32,65,36],"m":"jsr","oa":9281,"o":"show_title_via_sbc"},{"a":15223,"t":"code","b":[32,223,36],"m":"jsr","oa":9439,"o":"show_title_colours"},{"a":15226,"t":"code","b":[32,105,54],"m":"jsr","oa":13929,"o":"reset_worms"},{"a":15229,"c":"The player starts on $05E0, standing still; the treasure starts on $0755.","t":"code","b":[169,224],"m":"lda","o":"#$E0"},{"a":15231,"t":"code","b":[133,251],"m":"sta","oa":251,"o":"player_pos"},{"a":15233,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":15235,"t":"code","b":[133,252],"m":"sta","oa":252,"o":"player_pos_hi"},{"a":15237,"t":"code","b":[169,239],"m":"lda","o":"#$EF"},{"a":15239,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"player_dir"},{"a":15241,"t":"code","b":[169,85],"m":"lda","o":"#$55"},{"a":15243,"t":"code","b":[141,138,38],"m":"sta","oa":9866,"o":"treasure_pos"},{"a":15246,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":15248,"t":"code","b":[141,139,38],"m":"sta","oa":9867,"o":"treasure_pos_hi"},{"a":15251,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":15253,"t":"code","b":[141,132,38],"m":"sta","oa":9860,"o":"treasure_value"},{"a":15256,"t":"code","b":[141,136,38],"m":"sta","oa":9864,"o":"level_stage"},{"a":15259,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":15261,"t":"code","b":[141,133,38],"m":"sta","oa":9861,"o":"lives"},{"a":15264,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15266,"t":"code","b":[141,144,38],"m":"sta","oa":9872,"o":"egg_count"},{"a":15269,"t":"code","b":[141,141,38],"m":"sta","oa":9869,"o":"treasure_timer"},{"a":15272,"t":"code","b":[169,71],"m":"lda","o":"#$47"},{"a":15274,"t":"code","b":[141,142,38],"m":"sta","oa":9870,"o":"treasure_char"},{"a":15277,"c":"step_delay $FA: a pass every 6 jiffies, ten a second, on the first level.","t":"code","b":[169,250],"m":"lda","o":"#$FA"},{"a":15279,"t":"code","b":[141,137,38],"m":"sta","oa":9865,"o":"step_delay"},{"a":15282,"c":"The title tune: 100 steps of title_tune_voice1 and title_tune_voice2 on voices 1 and 2, 10 jiffies each, round and round until fire alone is pressed.","t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":15284,"l":"b_3BB4","t":"code","b":[189,128,62],"m":"lda","oa":16000,"o":"title_tune_voice1,x","x":[15316]},{"a":15287,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15290,"t":"code","b":[189,228,62],"m":"lda","oa":16100,"o":"title_tune_voice2,x"},{"a":15293,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15296,"t":"code","b":[169,246],"m":"lda","o":"#$F6"},{"a":15298,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15300,"l":"b_3BC4","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15302]},{"a":15302,"t":"code","b":[48,252],"m":"bmi","oa":15300,"o":"b_3BC4"},{"a":15304,"t":"code","b":[232],"m":"inx"},{"a":15305,"t":"code","b":[224,100],"m":"cpx","o":"#$64"},{"a":15307,"t":"code","b":[208,2],"m":"bne","oa":15311,"o":"b_3BCF"},{"a":15309,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":15311,"l":"b_3BCF","t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b","x":[15307]},{"a":15314,"t":"code","b":[201,239],"m":"cmp","o":"#$EF"},{"a":15316,"t":"code","b":[208,222],"m":"bne","oa":15284,"o":"b_3BB4"},{"a":15318,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15320,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15323,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15326,"c":"$D8: multicolour on, for the maze.","t":"code","b":[169,216],"m":"lda","o":"#$D8"},{"a":15328,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":15331,"c":"Maze 1, level 01, coloured, the worms coiled.","t":"code","b":[32,106,36],"m":"jsr","oa":9322,"o":"show_maze1"},{"a":15334,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":15336,"t":"code","b":[141,130,38],"m":"sta","oa":9858,"o":"maze_number"},{"a":15339,"t":"code","b":[169,177],"m":"lda","o":"#$B1"},{"a":15341,"t":"code","b":[141,36,4],"m":"sta","oa":1060,"o":"a_0424"},{"a":15344,"t":"code","b":[32,232,53],"m":"jsr","oa":13800,"o":"colour_maze"},{"a":15347,"t":"code","b":[32,105,54],"m":"jsr","oa":13929,"o":"reset_worms"},{"a":15350,"l":"main_loop","c":"One pass of play: the worms and the treasure move, the player moves, and the cell the player now stands on decides what happens. An egg scores 10, raises voice 1's pitch with the count of eggs, and at 255 completes the level. The treasure is collected. A worm's head or body costs a life. Then the player is drawn, the pass waits out step_delay, the voices go quiet, and F1 pauses.","t":"code","b":[32,70,58],"m":"jsr","oa":14918,"o":"move_creatures","x":[15472]},{"a":15353,"t":"code","b":[32,110,48],"m":"jsr","oa":12398,"o":"move_player"},{"a":15356,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":15358,"c":"What is under the player.","t":"code","b":[177,251],"m":"lda","oa":251,"o":"(player_pos),y"},{"a":15360,"c":"An egg ($46).","t":"code","b":[201,70],"m":"cmp","o":"#$46"},{"a":15362,"t":"code","b":[208,24],"m":"bne","oa":15388,"o":"hit_treasure"},{"a":15364,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":15366,"t":"code","b":[32,36,55],"m":"jsr","oa":14116,"o":"add_score"},{"a":15369,"t":"code","b":[238,144,38],"m":"inc","oa":9872,"o":"egg_count"},{"a":15372,"t":"code","b":[173,144,38],"m":"lda","oa":9872,"o":"egg_count"},{"a":15375,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15378,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":15380,"t":"code","b":[208,46],"m":"bne","oa":15428,"o":"draw_player"},{"a":15382,"t":"code","b":[32,121,56],"m":"jsr","oa":14457,"o":"level_complete"},{"a":15385,"t":"code","b":[76,68,60],"m":"jmp","oa":15428,"o":"draw_player"},{"a":15388,"l":"hit_treasure","c":"The treasure, whichever picture it shows now.","t":"code","b":[205,142,38],"m":"cmp","oa":9870,"o":"treasure_char","x":[15362]},{"a":15391,"t":"code","b":[208,11],"m":"bne","oa":15404,"o":"hit_worm"},{"a":15393,"t":"code","b":[169,20],"m":"lda","o":"#$14"},{"a":15395,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15398,"t":"code","b":[32,59,55],"m":"jsr","oa":14139,"o":"collect_treasure"},{"a":15401,"t":"code","b":[76,68,60],"m":"jmp","oa":15428,"o":"draw_player"},{"a":15404,"l":"hit_worm","c":"A worm's body ($44) or head ($43).","t":"code","b":[201,68],"m":"cmp","o":"#$44","x":[15391]},{"a":15406,"t":"code","b":[240,4],"m":"beq","oa":15412,"o":"b_3C34"},{"a":15408,"t":"code","b":[201,67],"m":"cmp","o":"#$43"},{"a":15410,"t":"code","b":[208,16],"m":"bne","oa":15428,"o":"draw_player"},{"a":15412,"l":"b_3C34","t":"code","b":[206,133,38],"m":"dec","oa":9861,"o":"lives","x":[15406]},{"a":15415,"t":"code","b":[173,133,38],"m":"lda","oa":9861,"o":"lives"},{"a":15418,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":15420,"t":"code","b":[208,3],"m":"bne","oa":15425,"o":"b_3C41"},{"a":15422,"t":"code","b":[76,12,59],"m":"jmp","oa":15116,"o":"game_over"},{"a":15425,"l":"b_3C41","t":"code","b":[32,125,58],"m":"jsr","oa":14973,"o":"lose_life","x":[15420]},{"a":15428,"l":"draw_player","c":"If the player moved, its old cell becomes a space; the player is drawn on its new one.","t":"code","b":[160,0],"m":"ldy","o":"#$00","x":[15380,15385,15401,15410]},{"a":15430,"t":"code","b":[165,87],"m":"lda","oa":87,"o":"player_dir"},{"a":15432,"t":"code","b":[201,239],"m":"cmp","o":"#$EF"},{"a":15434,"t":"code","b":[240,6],"m":"beq","oa":15442,"o":"b_3C52"},{"a":15436,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":15438,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":15440,"t":"code","b":[145,253],"m":"sta","oa":253,"o":"(old_pos),y"},{"a":15442,"l":"b_3C52","t":"code","b":[169,81],"m":"lda","o":"#$51","x":[15434]},{"a":15444,"t":"code","b":[145,251],"m":"sta","oa":251,"o":"(player_pos),y"},{"a":15446,"c":"The wait: step_delay into the jiffy clock's low byte, then wait for it to pass $FF.","t":"code","b":[173,137,38],"m":"lda","oa":9865,"o":"step_delay"},{"a":15449,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15451,"l":"b_3C5B","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15453]},{"a":15453,"t":"code","b":[48,252],"m":"bmi","oa":15451,"o":"b_3C5B"},{"a":15455,"c":"Both voices quiet: every sound in play is one pass long.","t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15457,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15460,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15463,"c":"F1, key number 4, pauses.","t":"code","b":[165,197],"m":"lda","oa":197,"o":"last_key"},{"a":15465,"t":"code","b":[201,4],"m":"cmp","o":"#$04"},{"a":15467,"t":"code","b":[208,3],"m":"bne","oa":15472,"o":"b_3C70"},{"a":15469,"t":"code","b":[32,115,60],"m":"jsr","oa":15475,"o":"pause"},{"a":15472,"l":"b_3C70","t":"code","b":[76,246,59],"m":"jmp","oa":15350,"o":"main_loop","x":[15467]},{"a":15475,"l":"pause","c":"The pause on F1: the volume to 0, a wait of about two seconds, then a wait for fire alone, and the volume back to 15.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[15469]},{"a":15477,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":15480,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":15482,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15484,"l":"b_3C7C","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15486]},{"a":15486,"t":"code","b":[48,252],"m":"bmi","oa":15484,"o":"b_3C7C"},{"a":15488,"l":"b_3C80","t":"code","b":[173,1,220],"m":"lda","o":"cia1_port_b","x":[15493]},{"a":15491,"t":"code","b":[201,239],"m":"cmp","o":"#$EF"},{"a":15493,"t":"code","b":[208,249],"m":"bne","oa":15488,"o":"b_3C80"},{"a":15495,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":15497,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":15500,"t":"code","b":[96],"m":"rts"},{"a":15501,"l":"wall_colour","c":"Returns the colour in $D023, the second shared multicolour register, for the wall flash in lose_life.","t":"code","b":[173,35,208],"m":"lda","o":"vic_background2","x":[15078]},{"a":15504,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":15506,"t":"code","b":[96],"m":"rts"},{"a":15507,"l":"cell_is_free","c":"The worms' and the treasure's test of the cell at worm_probe: A = 0 if it holds a space, the player ($51) or an egg ($46), else A = 1. Letting a worm into the player's cell is how a worm catches the player, and letting it onto an egg is how a worm that clears its tail eats it.","t":"code","b":[173,134,38],"m":"lda","oa":9862,"o":"worm_probe","x":[13010]},{"a":15510,"t":"code","b":[133,253],"m":"sta","oa":253,"o":"old_pos"},{"a":15512,"t":"code","b":[173,135,38],"m":"lda","oa":9863,"o":"worm_probe_hi"},{"a":15515,"t":"code","b":[133,254],"m":"sta","oa":254,"o":"old_pos_hi"},{"a":15517,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":15519,"t":"code","b":[177,253],"m":"lda","oa":253,"o":"(old_pos),y"},{"a":15521,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":15523,"t":"code","b":[240,11],"m":"beq","oa":15536,"o":"b_3CB0"},{"a":15525,"t":"code","b":[201,81],"m":"cmp","o":"#$51"},{"a":15527,"t":"code","b":[240,7],"m":"beq","oa":15536,"o":"b_3CB0"},{"a":15529,"t":"code","b":[201,70],"m":"cmp","o":"#$46"},{"a":15531,"t":"code","b":[240,3],"m":"beq","oa":15536,"o":"b_3CB0"},{"a":15533,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":15535,"t":"code","b":[96],"m":"rts"},{"a":15536,"l":"b_3CB0","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[15523,15527,15531]},{"a":15538,"t":"code","b":[96],"m":"rts"},{"a":15539,"l":"irq_handler","c":"The game's interrupt, 60 times a second on the CIA's timer. Every seventh call it animates characters: the unused arrow $40-$42, the two treasures ($47 with $48, $49 with $4A), the egg $46, and through rotate_spinner the eight frames $4E-$55. It always goes on to the KERNAL's handler at $EA31, which keeps the jiffy clock and the keyboard scan running.","t":"code","b":[238,131,38],"m":"inc","oa":9859,"o":"irq_count"},{"a":15542,"t":"code","b":[173,131,38],"m":"lda","oa":9859,"o":"irq_count"},{"a":15545,"t":"code","b":[201,7],"m":"cmp","o":"#$07"},{"a":15547,"t":"code","b":[208,75],"m":"bne","oa":15624,"o":"b_3D08"},{"a":15549,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15551,"t":"code","b":[141,131,38],"m":"sta","oa":9859,"o":"irq_count"},{"a":15554,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":15556,"l":"rotate_arrows","c":"The three arrow frames, $40 to $42, move round one place.","t":"code","b":[189,0,42],"m":"lda","oa":10752,"o":"arrow_frame_a,x","x":[15619]},{"a":15559,"t":"code","b":[72],"m":"pha"},{"a":15560,"t":"code","b":[189,8,42],"m":"lda","oa":10760,"o":"arrow_frame_b,x"},{"a":15563,"t":"code","b":[157,0,42],"m":"sta","oa":10752,"o":"arrow_frame_a,x"},{"a":15566,"t":"code","b":[189,16,42],"m":"lda","oa":10768,"o":"arrow_frame_c,x"},{"a":15569,"t":"code","b":[157,8,42],"m":"sta","oa":10760,"o":"arrow_frame_b,x"},{"a":15572,"t":"code","b":[104],"m":"pla"},{"a":15573,"t":"code","b":[157,16,42],"m":"sta","oa":10768,"o":"arrow_frame_c,x"},{"a":15576,"c":"The two treasures each swap their two poses.","t":"code","b":[189,56,42],"m":"lda","oa":10808,"o":"treasure_a_frame1,x"},{"a":15579,"t":"code","b":[72],"m":"pha"},{"a":15580,"t":"code","b":[189,64,42],"m":"lda","oa":10816,"o":"treasure_a_frame2,x"},{"a":15583,"t":"code","b":[157,56,42],"m":"sta","oa":10808,"o":"treasure_a_frame1,x"},{"a":15586,"t":"code","b":[104],"m":"pla"},{"a":15587,"t":"code","b":[157,64,42],"m":"sta","oa":10816,"o":"treasure_a_frame2,x"},{"a":15590,"t":"code","b":[189,72,42],"m":"lda","oa":10824,"o":"treasure_b_frame1,x"},{"a":15593,"t":"code","b":[72],"m":"pha"},{"a":15594,"t":"code","b":[189,80,42],"m":"lda","oa":10832,"o":"treasure_b_frame2,x"},{"a":15597,"t":"code","b":[157,72,42],"m":"sta","oa":10824,"o":"treasure_b_frame1,x"},{"a":15600,"t":"code","b":[104],"m":"pla"},{"a":15601,"t":"code","b":[157,80,42],"m":"sta","oa":10832,"o":"treasure_b_frame2,x"},{"a":15604,"c":"The egg: each row rolls one pixel to the left, the leftmost pixel coming back on the right.","t":"code","b":[24],"m":"clc"},{"a":15605,"t":"code","b":[30,48,42],"m":"asl","oa":10800,"o":"egg_char,x"},{"a":15608,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15610,"t":"code","b":[125,48,42],"m":"adc","oa":10800,"o":"egg_char,x"},{"a":15613,"t":"code","b":[157,48,42],"m":"sta","oa":10800,"o":"egg_char,x"},{"a":15616,"t":"code","b":[232],"m":"inx"},{"a":15617,"t":"code","b":[224,8],"m":"cpx","o":"#$08"},{"a":15619,"t":"code","b":[208,191],"m":"bne","oa":15556,"o":"rotate_arrows"},{"a":15621,"t":"code","b":[32,8,37],"m":"jsr","oa":9480,"o":"rotate_spinner"},{"a":15624,"l":"b_3D08","t":"code","b":[76,49,234],"m":"jmp","oa":59953,"o":"j_EA31","x":[15547]},{"a":15627,"l":"install_irq","c":"Points the KERNAL's interrupt vector at irq_handler ($3CB3), with interrupts off while the two bytes change.","t":"code","b":[120],"m":"sei","x":[14434,15133]},{"a":15628,"t":"code","b":[169,179],"m":"lda","o":"#$B3"},{"a":15630,"t":"code","b":[141,20,3],"m":"sta","oa":788,"o":"irq_vector"},{"a":15633,"t":"code","b":[169,60],"m":"lda","o":"#$3C"},{"a":15635,"t":"code","b":[141,21,3],"m":"sta","oa":789,"o":"irq_vector_hi"},{"a":15638,"t":"code","b":[88],"m":"cli"},{"a":15639,"t":"code","b":[96],"m":"rts"},{"a":15640,"c":"Three NOPs and a test of voice 1's pulse width that nothing runs: the bonus run points the vector at $3D27, past them.","t":"code","b":[234],"m":"nop"},{"a":15641,"t":"code","b":[234],"m":"nop"},{"a":15642,"t":"code","b":[234],"m":"nop"},{"a":15643,"t":"code","b":[173,3,212],"m":"lda","o":"sid_v1_pulse_hi"},{"a":15646,"t":"code","b":[201,16],"m":"cmp","o":"#$10"},{"a":15648,"t":"code","b":[208,5],"m":"bne","oa":15655,"o":"bonus_irq"},{"a":15650,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":15652,"t":"code","b":[141,3,212],"m":"sta","o":"sid_v1_pulse_hi"},{"a":15655,"l":"bonus_irq","c":"The interrupt during the bonus run: it counts the timer on the bottom line ($07DE-$07E0, reversed digits) down by one, the units first, and goes on to the KERNAL's handler. It animates nothing, so the eggs, the treasures and the spinning figures stand still for the run. From 900, the run lasts 901 interrupts, about fifteen seconds.","t":"code","b":[206,224,7],"m":"dec","oa":2016,"o":"a_07E0","x":[15648]},{"a":15658,"t":"code","b":[173,224,7],"m":"lda","oa":2016,"o":"a_07E0"},{"a":15661,"t":"code","b":[201,175],"m":"cmp","o":"#$AF"},{"a":15663,"t":"code","b":[208,23],"m":"bne","oa":15688,"o":"b_3D48"},{"a":15665,"t":"code","b":[169,185],"m":"lda","o":"#$B9"},{"a":15667,"t":"code","b":[141,224,7],"m":"sta","oa":2016,"o":"a_07E0"},{"a":15670,"t":"code","b":[206,223,7],"m":"dec","oa":2015,"o":"a_07DF"},{"a":15673,"t":"code","b":[173,223,7],"m":"lda","oa":2015,"o":"a_07DF"},{"a":15676,"t":"code","b":[201,175],"m":"cmp","o":"#$AF"},{"a":15678,"t":"code","b":[208,8],"m":"bne","oa":15688,"o":"b_3D48"},{"a":15680,"t":"code","b":[169,185],"m":"lda","o":"#$B9"},{"a":15682,"t":"code","b":[141,223,7],"m":"sta","oa":2015,"o":"a_07DF"},{"a":15685,"t":"code","b":[206,222,7],"m":"dec","oa":2014,"o":"a_07DE"},{"a":15688,"l":"b_3D48","t":"code","b":[76,49,234],"m":"jmp","oa":59953,"o":"j_EA31","x":[15663,15678]},{"a":15691,"l":"bonus_tune_reset","c":"Waits 127 jiffies, about two seconds, and sets the bonus tune back to its first note.","t":"code","b":[169,129],"m":"lda","o":"#$81","x":[14273]},{"a":15693,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15695,"l":"b_3D4F","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15697]},{"a":15697,"t":"code","b":[48,252],"m":"bmi","oa":15695,"o":"b_3D4F"},{"a":15699,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":15701,"t":"code","b":[141,146,38],"m":"sta","oa":9874,"o":"bonus_note"},{"a":15704,"t":"code","b":[141,147,38],"m":"sta","oa":9875,"o":"a_2693"},{"a":15707,"t":"code","b":[96],"m":"rts"},{"a":15708,"l":"bonus_tune_step","c":"Writes the next of the bonus tune's 255 notes to voice 2's pitch and steps the index on, back to 0 after 254.","t":"code","b":[174,146,38],"m":"ldx","oa":9874,"o":"bonus_note","x":[14381]},{"a":15711,"t":"code","b":[189,184,61],"m":"lda","oa":15800,"o":"bonus_tune,x"},{"a":15714,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15717,"t":"code","b":[232],"m":"inx"},{"a":15718,"t":"code","b":[224,255],"m":"cpx","o":"#$FF"},{"a":15720,"t":"code","b":[208,2],"m":"bne","oa":15724,"o":"b_3D6C"},{"a":15722,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":15724,"l":"b_3D6C","t":"code","b":[142,146,38],"m":"stx","oa":9874,"o":"bonus_note","x":[15720]},{"a":15727,"t":"code","b":[96],"m":"rts"},{"a":15728,"c":"Six bytes that never run, $92 $26 $8D $08 $D4 $60: the end of an older bonus_tune_step that read $2692 and wrote voice 2's pitch.","t":"byte","b":[146,38,141,8,212,96]},{"a":15734,"l":"level_pause","c":"Both voices quiet, then a wait of 127 jiffies, about two seconds, after \"LEVEL\" is spelt out.","t":"code","b":[169,0],"m":"lda","o":"#$00","x":[14598]},{"a":15736,"t":"code","b":[141,8,212],"m":"sta","o":"sid_v2_freq_hi"},{"a":15739,"t":"code","b":[141,1,212],"m":"sta","o":"sid_v1_freq_hi"},{"a":15742,"t":"code","b":[169,129],"m":"lda","o":"#$81"},{"a":15744,"t":"code","b":[133,162],"m":"sta","oa":162,"o":"jiffy_lo"},{"a":15746,"l":"b_3D82","t":"code","b":[165,162],"m":"lda","oa":162,"o":"jiffy_lo","x":[15748]},{"a":15748,"t":"code","b":[48,252],"m":"bmi","oa":15746,"o":"b_3D82"},{"a":15750,"t":"code","b":[96],"m":"rts"},{"a":15751,"c":"49 bytes after level_pause that nothing reads.","t":"byte","b":[65,0,142,122,4,0,0,78]},{"a":15759,"t":"byte","b":[223,0,159,4,239,0,223,4]},{"a":15767,"t":"byte","b":[255,64,223,67,255,76,238,73]},{"a":15775,"t":"byte","b":[239,76,79,0,79,79,79,12]},{"a":15783,"t":"byte","b":[47,47,47,2,237,108,39,77]},{"a":15791,"t":"byte","b":[79,15,255,0,79,0,255,0]},{"a":15799,"t":"byte","b":[239]},{"a":15800,"l":"bonus_tune","c":"The bonus run's tune for voice 2: high bytes of the pitch, one a step, 0 for silence. The index runs to 254, so after these 200 bytes it reads on into title_tune_voice1 for its last 55 steps. Rising runs, a long trill between two notes, a slow climb and fall, then 49 steps of silence.","t":"byte","b":[10,20,30,40,50,60,70,80],"x":[15711]},{"a":15808,"t":"byte","b":[90,100,200,20,30,40,50,60]},{"a":15816,"t":"byte","b":[70,80,90,20,30,40,50,60]},{"a":15824,"t":"byte","b":[70,80,90,30,40,50,60,70]},{"a":15832,"t":"byte","b":[80,30,40,50,60,70,80,40]},{"a":15840,"t":"byte","b":[50,60,70,40,50,60,70,50]},{"a":15848,"t":"byte","b":[60,50,60,50,60,50,40,30]},{"a":15856,"t":"byte","b":[40,30,20,30,10,20,10,30]},{"a":15864,"t":"byte","b":[10,30,10,30,10,30,10,30]},{"a":15872,"t":"byte","b":[10,30,10,30,10,30,10,30]},{"a":15880,"t":"byte","b":[10,30,10,30,10,30,10,30]},{"a":15888,"t":"byte","b":[10,30,10,30,10,30,10,30]},{"a":15896,"t":"byte","b":[10,30,10,20,10,11,12,13]},{"a":15904,"t":"byte","b":[14,15,16,17,18,19,20,21]},{"a":15912,"t":"byte","b":[22,23,24,25,26,25,23,21]},{"a":15920,"t":"byte","b":[19,17,15,13,11,10,9,8]},{"a":15928,"t":"byte","b":[9,8,7,8,7,8,6,7]},{"a":15936,"t":"byte","b":[6,7,5,6,5,6,4,5]},{"a":15944,"t":"byte","b":[2,1,10,10,10,10,10,0]},{"a":15952,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":15960,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":15968,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":15976,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":15984,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":15992,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16000,"l":"title_tune_voice1","c":"The title tune for voice 1: 100 steps of the pitch's high byte, 0 for a rest: runs of nine notes up or down with rests between, ending on a run that dips and climbs. Its pitches are $0A, $14, $1E and so on to $64, the multiples of 10, which on a PAL machine are about 150, 300, 450 up to 1,500 Hz: the harmonic series of 150 Hz, the notes of a bugle, not a scale, which is why the tune sounds strange. The level jingle plays its first 30 steps, the treasure steps through 1 to 29 as it moves, and the bonus tune reads its first 55.","t":"byte","b":[0,20,30,40,50,60,70,80],"x":[14514,14808,15284]},{"a":16008,"t":"byte","b":[90,100,0,0,0,0,0,0]},{"a":16016,"t":"byte","b":[0,0,0,0,0,0,0,10]},{"a":16024,"t":"byte","b":[20,30,40,50,60,70,80,90]},{"a":16032,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16040,"t":"byte","b":[10,20,30,40,50,60,70,80]},{"a":16048,"t":"byte","b":[90,0,0,0,0,0,0,0]},{"a":16056,"t":"byte","b":[90,80,70,60,50,40,30,20]},{"a":16064,"t":"byte","b":[10,0,0,0,0,0,0,90]},{"a":16072,"t":"byte","b":[80,70,60,50,40,30,20,10]},{"a":16080,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":16088,"t":"byte","b":[0,50,40,30,20,10,50,60]},{"a":16096,"t":"byte","b":[70,80,90,100]},{"a":16100,"l":"title_tune_voice2","c":"The title tune for voice 2: 100 steps of the pitch's high byte, a bass that trills between two notes, the pair moving up every so often, from $0A and $14 to $32 and $3C.","t":"byte","b":[10,20,10,20,10,20,10,20],"x":[14520,15290]},{"a":16108,"t":"byte","b":[10,20,10,20,10,20,10,20]},{"a":16116,"t":"byte","b":[10,20,10,20,10,20,10,20]},{"a":16124,"t":"byte","b":[10,20,10,20,30,20,30,20]},{"a":16132,"t":"byte","b":[30,20,30,20,30,20,30,20]},{"a":16140,"t":"byte","b":[30,40,30,40,30,40,30,40]},{"a":16148,"t":"byte","b":[30,40,30,40,30,40,30,40]},{"a":16156,"t":"byte","b":[30,50,40,50,40,50,40,50]},{"a":16164,"t":"byte","b":[40,50,40,50,40,50,40,50]},{"a":16172,"t":"byte","b":[40,50,40,50,40,50,40,50]},{"a":16180,"t":"byte","b":[40,50,40,60,50,60,50,60]},{"a":16188,"t":"byte","b":[50,60,50,60,50,60,50,60]},{"a":16196,"t":"byte","b":[50,60,50,60]},{"a":16200,"t":"gap","n":49336}]}