{"schema":1,"platform":"c64","game":"the-incredible-hulk","title":"The Incredible Hulk","build":"Commodore's 1984 disk, questprobe_the_hulk[cbm_1984].g64 from the C64 Preservation Project's 10th Anniversary Collection on the Internet Archive (SHA-256 345f4141\u2026c0bb); Scott Adams's adventure system, Version 3-127","symbols_sha256":"56eaeb1f4af385d738b23f8cb6945aa29e4444485f28ce5d275545e7eb6363e0","snapshot":{"file":"work/play-start.vsf","sha256":"5200ac6da4f1c2b110949c479ff2f1a9c1c075b5ac3c058e80aabad552c03f67"},"index":[{"a":0,"n":"cpu_port_ddr","k":"variable","len":1,"c":true},{"a":1,"n":"cpu_port","k":"table","len":56,"c":true},{"a":57,"n":"inline_lo","k":"variable","len":1,"c":true},{"a":58,"n":"inline_hi","k":"variable","len":1,"c":true},{"a":59,"n":"scratch_lo","k":"variable","len":1,"c":true},{"a":60,"n":"scratch_hi","k":"variable","len":1,"c":true},{"a":61,"n":"save_all_a","k":"variable","len":1,"c":true},{"a":62,"n":"save_all_p","k":"variable","len":1,"c":true},{"a":63,"n":"save_all_ret_lo","k":"variable","len":1,"c":true},{"a":64,"n":"save_all_ret_hi","k":"variable","len":1,"c":true},{"a":65,"n":"kept_x","k":"table","len":5,"c":true},{"a":70,"n":"param_slot","k":"variable","len":1,"c":true},{"a":71,"n":"param_slot_hi","k":"variable","len":1,"c":true},{"a":72,"n":"quotient_lo","k":"variable","len":1,"c":true},{"a":73,"n":"quotient_hi","k":"variable","len":1,"c":true},{"a":74,"n":"remainder_lo","k":"variable","len":1,"c":true},{"a":75,"n":"remainder_hi","k":"variable","len":1,"c":true},{"a":76,"n":"line_count","k":"variable","len":2,"c":true},{"a":78,"n":"reg_hl","k":"variable","len":1,"c":true},{"a":79,"n":"reg_hl_hi","k":"variable","len":1,"c":true},{"a":80,"n":"reg_de","k":"variable","len":1,"c":true},{"a":81,"n":"reg_de_hi","k":"variable","len":1,"c":true},{"a":82,"n":"reg_bc","k":"variable","len":1,"c":true},{"a":83,"n":"reg_bc_hi","k":"variable","len":1,"c":true},{"a":84,"n":"reg_ix","k":"variable","len":1,"c":true},{"a":85,"n":"reg_ix_hi","k":"variable","len":1,"c":true},{"a":86,"n":"reg_iy","k":"variable","len":1,"c":true},{"a":87,"n":"reg_iy_hi","k":"variable","len":1,"c":true},{"a":88,"n":"num_length","k":"variable","len":1,"c":true},{"a":89,"n":"num_sign","k":"table","len":6,"c":true},{"a":95,"n":"verb","k":"variable","len":2,"c":true},{"a":97,"n":"noun","k":"variable","len":2,"c":true},{"a":99,"n":"line_not_taken","k":"variable","len":2,"c":true},{"a":101,"n":"conds_passed","k":"variable","len":1,"c":true},{"a":102,"n":"action_fitted","k":"variable","len":1,"c":true},{"a":103,"n":"continue_flag","k":"variable","len":1,"c":true},{"a":104,"n":"action_noun","k":"variable","len":1,"c":true},{"a":105,"n":"action_verb","k":"variable","len":1,"c":true},{"a":106,"n":"cmd_stub","k":"routine","len":1,"c":true},{"a":107,"n":"cmd_stub_lo","k":"routine","len":1,"c":true},{"a":108,"n":"cmd_stub_hi","k":"routine","len":1,"c":true},{"a":109,"n":"cond_stub","k":"routine","len":1,"c":true},{"a":110,"n":"cond_stub_lo","k":"routine","len":1,"c":true},{"a":111,"n":"cond_stub_hi","k":"routine","len":1,"c":true},{"a":788,"n":"irq_vector","k":"variable","len":1,"c":true},{"a":789,"n":"irq_vector_hi","k":"table","len":17,"c":true},{"a":806,"n":"output_vector","k":"variable","len":1,"c":true},{"a":807,"n":"output_vector_hi","k":"table","len":64,"c":true},{"a":7168,"n":"counter","k":"variable","len":1,"c":true},{"a":7169,"n":"counter_hi","k":"variable","len":1,"c":true},{"a":7170,"n":"flags","k":"table","len":15,"c":true},{"a":7185,"n":"flag_dark","k":"variable","len":1,"c":true},{"a":7186,"n":"flag_light_out","k":"table","len":16,"c":true},{"a":7202,"n":"room","k":"variable","len":1,"c":true},{"a":7203,"n":"room_hi","k":"variable","len":1,"c":true},{"a":7204,"n":"saved_rooms","k":"table","len":6,"c":true},{"a":7210,"n":"saved_counters","k":"table","len":16,"c":true},{"a":7226,"n":"items_ptr","k":"variable","len":2,"c":true},{"a":7228,"n":"item_locations","k":"table","len":110,"c":true},{"a":7740,"n":"check_byte","k":"variable","len":1,"c":true},{"a":7741,"n":"line_before","k":"variable","len":1,"c":true},{"a":7742,"n":"line_buffer","k":"variable","len":1,"c":true},{"a":7743,"n":"save_name_dot","k":"variable","len":1,"c":true},{"a":7744,"n":"save_name_s","k":"variable","len":1,"c":true},{"a":7745,"n":"save_name_star","k":"variable","len":1,"c":true},{"a":7746,"n":"save_name_end","k":"table","len":10,"c":true},{"a":7756,"n":"line_limit","k":"table","len":36,"c":true},{"a":7792,"n":"typed_word","k":"variable","len":1,"c":true},{"a":7793,"n":"typed_word_1","k":"variable","len":1,"c":true},{"a":7794,"n":"typed_word_2","k":"variable","len":1,"c":true},{"a":7795,"n":"typed_word_3","k":"table","len":22,"c":true},{"a":7817,"n":"word_index","k":"variable","len":1,"c":true},{"a":7818,"n":"word_count","k":"table","len":21,"c":true},{"a":7839,"n":"light_turns","k":"variable","len":1,"c":true},{"a":7840,"n":"light_turns_hi","k":"variable","len":1,"c":true},{"a":7841,"n":"get_drop_why","k":"variable","len":1,"c":true},{"a":7842,"n":"temp_count","k":"variable","len":2,"c":true},{"a":7844,"n":"temp_x","k":"table","len":4,"c":true},{"a":7848,"n":"out_line","k":"table","len":64,"c":true},{"a":7948,"n":"saver_a","k":"variable","len":1,"c":true},{"a":7949,"n":"saver_p","k":"variable","len":1,"c":true},{"a":7950,"n":"saver_ret_lo","k":"variable","len":1,"c":true},{"a":7951,"n":"saver_ret_hi","k":"table","len":5,"c":true},{"a":7956,"n":"tester_mode","k":"variable","len":1,"c":true},{"a":7957,"n":"putz_flag","k":"variable","len":2,"c":true},{"a":7959,"n":"random_total","k":"variable","len":1,"c":true},{"a":7960,"n":"typed_count","k":"table","len":7,"c":true},{"a":7967,"n":"v_count","k":"variable","len":1,"c":true},{"a":7968,"n":"picture_owed_count","k":"variable","len":1,"c":true},{"a":7969,"n":"piece_item","k":"variable","len":1,"c":true},{"a":7970,"n":"picture_flag","k":"variable","len":1,"c":true},{"a":7971,"n":"owed_copy","k":"variable","len":1,"c":true},{"a":7972,"n":"dark_note","k":"variable","len":1,"c":true},{"a":7973,"n":"page_lines","k":"variable","len":1,"c":true},{"a":7974,"n":"picture_height","k":"variable","len":1,"c":true},{"a":7975,"n":"picture_background","k":"variable","len":1,"c":true},{"a":7976,"n":"demo_mode","k":"variable","len":1,"c":true},{"a":7977,"n":"demo_pos","k":"variable","len":1,"c":true},{"a":7978,"n":"demo_pos_hi","k":"table","len":64,"c":true},{"a":21504,"n":"entry_table","k":"routine","len":3,"c":true},{"a":21507,"n":"run_actions_slot","k":"routine","len":3,"c":true},{"a":21510,"n":"end_action_slot","k":"routine","len":3,"c":true},{"a":21513,"n":"save_game_slot","k":"routine","len":3,"c":true},{"a":21516,"n":"cond_table_slot","k":"routine","len":1,"c":true},{"a":21517,"n":"cond_table_ptr","k":"routine","len":2,"c":true},{"a":21519,"n":"inventory_slot","k":"routine","len":3,"c":true},{"a":21522,"n":"print_item_slot","k":"routine","len":3,"c":true},{"a":21525,"n":"look_slot","k":"routine","len":3,"c":true},{"a":21528,"n":"next_param_slot","k":"routine","len":3,"c":true},{"a":21531,"n":"save_area_slot","k":"routine","len":3,"c":true},{"a":21534,"n":"too_much_slot","k":"routine","len":3,"c":true},{"a":21537,"n":"divide_slot","k":"routine","len":3,"c":true},{"a":21540,"n":"colour_green_slot","k":"routine","len":3,"c":true},{"a":21543,"n":"colour_blue_slot","k":"routine","len":3,"c":true},{"a":21546,"n":"action_table_slot","k":"routine","len":1,"c":true},{"a":21547,"n":"handler_table_ptr","k":"routine","len":2,"c":true},{"a":21549,"n":"RESTRT","k":"routine","len":3,"c":true},{"a":21552,"n":"PUT","k":"routine","len":3,"c":true},{"a":21555,"n":"PUTCR","k":"routine","len":3,"c":true},{"a":21558,"n":"PUTZ","k":"routine","len":3,"c":true},{"a":21561,"n":"READK","k":"routine","len":3,"c":true},{"a":21564,"n":"CLS","k":"routine","len":3,"c":true},{"a":21567,"n":"PUTSA","k":"routine","len":3,"c":true},{"a":21570,"n":"PUTS","k":"routine","len":3,"c":true},{"a":21573,"n":"GETIA","k":"routine","len":3,"c":true},{"a":21576,"n":"PUTNUM","k":"routine","len":3,"c":true},{"a":21579,"n":"DECHL","k":"routine","len":3,"c":true},{"a":21582,"n":"INCHL","k":"routine","len":3,"c":true},{"a":21585,"n":"SETHLI","k":"routine","len":3,"c":true},{"a":21588,"n":"SAVER","k":"routine","len":3,"c":true},{"a":21591,"n":"GETER","k":"routine","len":3,"c":true},{"a":21594,"n":"PUSHL","k":"routine","len":3,"c":true},{"a":21597,"n":"PULLHL","k":"routine","len":3,"c":true},{"a":21600,"n":"DECBC","k":"routine","len":3,"c":true},{"a":21603,"n":"inc_bc_slot","k":"routine","len":3,"c":true},{"a":21606,"n":"dec_de_slot","k":"routine","len":3,"c":true},{"a":21609,"n":"inc_de_slot","k":"routine","len":3,"c":true},{"a":21612,"n":"push_bc_slot","k":"routine","len":3,"c":true},{"a":21615,"n":"pull_bc_slot","k":"routine","len":3,"c":true},{"a":21618,"n":"push_de_slot","k":"routine","len":3,"c":true},{"a":21621,"n":"pull_de_slot","k":"routine","len":3,"c":true},{"a":21624,"n":"cmp_hl_mem_slot","k":"routine","len":3,"c":true},{"a":21627,"n":"cmp_hl_imm_slot","k":"routine","len":3,"c":true},{"a":21630,"n":"de_from_hl_slot","k":"routine","len":3,"c":true},{"a":21633,"n":"bc_from_hl_slot","k":"routine","len":3,"c":true},{"a":21636,"n":"add_hl_bc_slot","k":"routine","len":3,"c":true},{"a":21639,"n":"save_all_slot","k":"routine","len":3,"c":true},{"a":21642,"n":"restore_all_slot","k":"routine","len":3,"c":true},{"a":21645,"n":"store_hl_slot","k":"routine","len":3,"c":true},{"a":21648,"n":"load_hl_slot","k":"routine","len":3,"c":true},{"a":21651,"n":"push_ix_slot","k":"routine","len":3,"c":true},{"a":21654,"n":"pull_ix_slot","k":"routine","len":3,"c":true},{"a":21657,"n":"push_iy_slot","k":"routine","len":3,"c":true},{"a":21660,"n":"pull_iy_slot","k":"routine","len":3,"c":true},{"a":21663,"n":"inc_iy_slot","k":"routine","len":3,"c":true},{"a":21666,"n":"count_carried_slot","k":"routine","len":3,"c":true},{"a":21669,"n":"draw_room_slot","k":"routine","len":3,"c":true},{"a":21672,"n":"draw_item_slot","k":"routine","len":3,"c":true},{"a":21675,"n":"graphics_on_slot","k":"routine","len":3,"c":true},{"a":21678,"n":"graphics_off_slot","k":"routine","len":3,"c":true},{"a":21681,"n":"dark_test_slot","k":"routine","len":3,"c":true},{"a":21684,"n":"find_word_slot","k":"routine","len":3,"c":true},{"a":21687,"n":"init_state_slot","k":"routine","len":3,"c":true},{"a":21690,"n":"title_slot","k":"routine","len":3,"c":true},{"a":21693,"n":"restore_prompt_slot","k":"routine","len":3,"c":true},{"a":21696,"n":"input_slot","k":"routine","len":3,"c":true},{"a":21699,"n":"light_slot","k":"routine","len":3,"c":true},{"a":21702,"n":"clear_bitmap_slot","k":"routine","len":3,"c":true},{"a":21705,"n":"colour_row_slot","k":"routine","len":3,"c":true},{"a":21708,"n":"wait_return_slot","k":"routine","len":3,"c":true},{"a":21711,"n":"load_picture_slot","k":"routine","len":3,"c":true},{"a":21714,"n":"demo_key_slot","k":"routine","len":3,"c":true},{"a":21717,"n":"drive_code_slot","k":"routine","len":3,"c":true},{"a":21720,"n":"drive_send_slot","k":"routine","len":3,"c":true},{"a":21723,"n":"source_comment","k":"table","len":37,"c":true},{"a":21760,"n":"action_module","k":"routine","len":3,"c":true},{"a":21763,"n":"handler_table_jmp","k":"routine","len":3,"c":true},{"a":21766,"n":"count_carried_jmp","k":"routine","len":3,"c":true},{"a":21769,"n":"divide_jmp","k":"routine","len":3,"c":true},{"a":21772,"n":"too_much_jmp","k":"routine","len":3,"c":true},{"a":21775,"n":"action_handlers","k":"table","len":78,"c":true},{"a":21853,"n":"act_show_room_80","k":"routine","len":4,"c":true},{"a":21857,"n":"act_show_room","k":"routine","len":28,"c":true},{"a":21862,"n":"b_5566","k":"branch","len":1,"c":false},{"a":21894,"n":"count_carried","k":"routine","len":13,"c":true},{"a":21911,"n":"b_5597","k":"branch","len":1,"c":false},{"a":21919,"n":"b_559F","k":"branch","len":1,"c":false},{"a":21932,"n":"act_get","k":"routine","len":21,"c":true},{"a":21953,"n":"too_much","k":"routine","len":3,"c":true},{"a":21962,"n":"act_superget","k":"routine","len":25,"c":true},{"a":21980,"n":"b_55DC","k":"branch","len":1,"c":false},{"a":21987,"n":"act_drop","k":"routine","len":22,"c":true},{"a":22009,"n":"act_save","k":"routine","len":4,"c":true},{"a":22013,"n":"act_delay","k":"routine","len":3,"c":true},{"a":22018,"n":"delay_loop","k":"routine","len":9,"c":true},{"a":22027,"n":"act_goto","k":"routine","len":17,"c":true},{"a":22043,"n":"r_561B","k":"branch","len":1,"c":false},{"a":22044,"n":"act_swap_items","k":"routine","len":47,"c":true},{"a":22080,"n":"b_5640","k":"branch","len":1,"c":false},{"a":22090,"n":"r_564A","k":"branch","len":1,"c":false},{"a":22091,"n":"act_destroy","k":"routine","len":25,"c":true},{"a":22109,"n":"b_565D","k":"branch","len":1,"c":false},{"a":22116,"n":"act_continue","k":"routine","len":5,"c":true},{"a":22121,"n":"act_set_dark","k":"routine","len":14,"c":true},{"a":22134,"n":"r_5676","k":"branch","len":1,"c":false},{"a":22135,"n":"act_dec_counter","k":"routine","len":3,"c":true},{"a":22154,"n":"act_print_counter","k":"routine","len":3,"c":true},{"a":22168,"n":"act_set_counter","k":"routine","len":14,"c":true},{"a":22182,"n":"act_swap_room","k":"routine","len":15,"c":true},{"a":22197,"n":"act_set_light","k":"routine","len":17,"c":true},{"a":22213,"n":"r_56C5","k":"branch","len":1,"c":false},{"a":22214,"n":"act_select_counter","k":"routine","len":15,"c":true},{"a":22262,"n":"act_add_counter","k":"routine","len":9,"c":true},{"a":22287,"n":"act_sub_counter","k":"routine","len":21,"c":true},{"a":22308,"n":"act_print_noun","k":"routine","len":3,"c":true},{"a":22317,"n":"act_print_noun_cr","k":"routine","len":3,"c":true},{"a":22325,"n":"act_newline","k":"routine","len":4,"c":true},{"a":22329,"n":"act_set_flag","k":"routine","len":5,"c":true},{"a":22334,"n":"set_flag_y","k":"routine","len":6,"c":true},{"a":22340,"n":"act_swap_saved_room","k":"routine","len":16,"c":true},{"a":22356,"n":"set_room_a","k":"routine","len":7,"c":true},{"a":22363,"n":"act_clear_flag","k":"routine","len":5,"c":true},{"a":22368,"n":"clear_flag_y","k":"routine","len":6,"c":true},{"a":22374,"n":"act_die","k":"routine","len":3,"c":true},{"a":22394,"n":"txt_im_dead","k":"table","len":12,"c":true},{"a":22406,"n":"act_put","k":"routine","len":47,"c":true},{"a":22443,"n":"b_57AB","k":"branch","len":1,"c":false},{"a":22452,"n":"r_57B4","k":"branch","len":1,"c":false},{"a":22453,"n":"act_game_over","k":"routine","len":3,"c":true},{"a":22480,"n":"j_57D0","k":"branch","len":1,"c":false},{"a":22504,"n":"b_57E8","k":"branch","len":1,"c":false},{"a":22510,"n":"b_57EE","k":"branch","len":1,"c":false},{"a":22517,"n":"act_look","k":"routine","len":4,"c":true},{"a":22521,"n":"txt_now_hity","k":"table","len":12,"c":true},{"a":22533,"n":"txt_adventure_over","k":"table","len":17,"c":true},{"a":22550,"n":"txt_got_too_much_take","k":"table","len":32,"c":true},{"a":22582,"n":"act_score","k":"routine","len":16,"c":true},{"a":22611,"n":"score_each_item","k":"routine","len":49,"c":true},{"a":22645,"n":"b_5875","k":"branch","len":1,"c":false},{"a":22714,"n":"b_58BA","k":"branch","len":1,"c":false},{"a":22720,"n":"b_58C0","k":"branch","len":1,"c":false},{"a":22731,"n":"b_58CB","k":"branch","len":1,"c":false},{"a":22746,"n":"b_58DA","k":"branch","len":1,"c":false},{"a":22757,"n":"txt_hit_return","k":"table","len":14,"c":true},{"a":22771,"n":"txt_stored","k":"table","len":8,"c":true},{"a":22779,"n":"txt_treasures","k":"table","len":12,"c":true},{"a":22791,"n":"txt_scale_0100_thats","k":"table","len":19,"c":true},{"a":22810,"n":"txt_you_won","k":"table","len":10,"c":true},{"a":22820,"n":"act_inventory","k":"routine","len":22,"c":true},{"a":22853,"n":"r_5945","k":"branch","len":1,"c":false},{"a":22854,"n":"act_set_flag_0","k":"routine","len":5,"c":true},{"a":22859,"n":"act_clear_flag_0","k":"routine","len":5,"c":true},{"a":22864,"n":"act_refill_light","k":"routine","len":15,"c":true},{"a":22899,"n":"act_clear_screen","k":"routine","len":4,"c":true},{"a":22903,"n":"act_put_with","k":"routine","len":52,"c":true},{"a":22936,"n":"b_5998","k":"branch","len":1,"c":false},{"a":22954,"n":"r_59AA","k":"branch","len":1,"c":false},{"a":22955,"n":"divide","k":"routine","len":102,"c":true},{"a":22973,"n":"b_59BD","k":"branch","len":1,"c":false},{"a":23009,"n":"b_59E1","k":"branch","len":1,"c":false},{"a":23015,"n":"b_59E7","k":"branch","len":1,"c":false},{"a":23028,"n":"b_59F4","k":"branch","len":1,"c":false},{"a":23057,"n":"source_fragment","k":"table","len":239,"c":true},{"a":23296,"n":"interp_module","k":"routine","len":3,"c":true},{"a":23299,"n":"end_action_jmp","k":"routine","len":3,"c":true},{"a":23302,"n":"run_actions","k":"routine","len":40,"c":true},{"a":23335,"n":"r_5B27","k":"branch","len":1,"c":false},{"a":23336,"n":"b_5B28","k":"branch","len":1,"c":false},{"a":23342,"n":"next_action","k":"routine","len":18,"c":true},{"a":23348,"n":"b_5B34","k":"branch","len":1,"c":false},{"a":23364,"n":"end_of_actions","k":"routine","len":10,"c":true},{"a":23383,"n":"b_5B57","k":"branch","len":1,"c":false},{"a":23395,"n":"r_5B63","k":"branch","len":1,"c":false},{"a":23396,"n":"read_action","k":"routine","len":9,"c":true},{"a":23436,"n":"b_5B8C","k":"branch","len":1,"c":false},{"a":23448,"n":"b_5B98","k":"branch","len":1,"c":false},{"a":23454,"n":"b_5B9E","k":"branch","len":1,"c":false},{"a":23477,"n":"b_5BB5","k":"branch","len":1,"c":false},{"a":23480,"n":"b_5BB8","k":"branch","len":1,"c":false},{"a":23490,"n":"b_5BC2","k":"branch","len":1,"c":false},{"a":23519,"n":"test_conditions","k":"routine","len":64,"c":true},{"a":23539,"n":"j_5BF3","k":"branch","len":1,"c":false},{"a":23692,"n":"b_5C8C","k":"branch","len":1,"c":false},{"a":23698,"n":"conditions_passed","k":"routine","len":8,"c":true},{"a":23725,"n":"run_commands","k":"routine","len":9,"c":true},{"a":23744,"n":"j_5CC0","k":"branch","len":1,"c":false},{"a":23779,"n":"b_5CE3","k":"branch","len":1,"c":false},{"a":23782,"n":"b_5CE6","k":"branch","len":1,"c":false},{"a":23823,"n":"run_handler","k":"routine","len":12,"c":true},{"a":23870,"n":"next_command","k":"routine","len":12,"c":true},{"a":23882,"n":"end_action","k":"routine","len":14,"c":true},{"a":23886,"n":"b_5D4E","k":"branch","len":1,"c":false},{"a":23889,"n":"b_5D51","k":"branch","len":1,"c":false},{"a":23896,"n":"txt_i_dont_understand_you","k":"table","len":26,"c":true},{"a":23922,"n":"txt_cant_do_that_yet","k":"table","len":25,"c":true},{"a":23947,"n":"txt_did","k":"table","len":7,"c":true},{"a":23954,"n":"txt_psbl","k":"table","len":8,"c":true},{"a":23962,"n":"auto_get_drop","k":"routine","len":22,"c":true},{"a":23972,"n":"r_5DA4","k":"branch","len":1,"c":false},{"a":23973,"n":"b_5DA5","k":"branch","len":1,"c":false},{"a":23992,"n":"b_5DB8","k":"branch","len":1,"c":false},{"a":24015,"n":"search_items","k":"routine","len":8,"c":true},{"a":24046,"n":"b_5DEE","k":"branch","len":1,"c":false},{"a":24062,"n":"b_5DFE","k":"branch","len":1,"c":false},{"a":24065,"n":"b_5E01","k":"branch","len":1,"c":false},{"a":24088,"n":"match_item_word","k":"routine","len":47,"c":true},{"a":24096,"n":"b_5E20","k":"branch","len":1,"c":false},{"a":24111,"n":"b_5E2F","k":"branch","len":1,"c":false},{"a":24168,"n":"b_5E68","k":"branch","len":1,"c":false},{"a":24174,"n":"b_5E6E","k":"branch","len":1,"c":false},{"a":24182,"n":"b_5E76","k":"branch","len":1,"c":false},{"a":24192,"n":"b_5E80","k":"branch","len":1,"c":false},{"a":24201,"n":"b_5E89","k":"branch","len":1,"c":false},{"a":24205,"n":"said_ok","k":"routine","len":3,"c":true},{"a":24216,"n":"j_5E98","k":"branch","len":1,"c":false},{"a":24220,"n":"r_5E9C","k":"branch","len":1,"c":false},{"a":24221,"n":"get_drop_failed","k":"routine","len":10,"c":true},{"a":24236,"n":"b_5EAC","k":"branch","len":1,"c":false},{"a":24248,"n":"b_5EB8","k":"branch","len":1,"c":false},{"a":24260,"n":"b_5EC4","k":"branch","len":1,"c":false},{"a":24279,"n":"txt_huh","k":"table","len":7,"c":true},{"a":24286,"n":"txt_o_k","k":"table","len":5,"c":true},{"a":24291,"n":"txt_not_carrying_it","k":"table","len":20,"c":true},{"a":24311,"n":"txt_dont_see_it_here","k":"table","len":21,"c":true},{"a":24332,"n":"txt_already_have_it","k":"table","len":17,"c":true},{"a":24349,"n":"txt_beyond_my_power_to","k":"table","len":28,"c":true},{"a":24377,"n":"random_100","k":"routine","len":23,"c":true},{"a":24387,"n":"b_5F43","k":"branch","len":1,"c":false},{"a":24397,"n":"b_5F4D","k":"branch","len":1,"c":false},{"a":24400,"n":"move","k":"routine","len":13,"c":true},{"a":24439,"n":"b_5F77","k":"branch","len":1,"c":false},{"a":24457,"n":"b_5F89","k":"branch","len":1,"c":false},{"a":24522,"n":"b_5FCA","k":"branch","len":1,"c":false},{"a":24550,"n":"move_to_room","k":"routine","len":12,"c":true},{"a":24567,"n":"r_5FF7","k":"branch","len":1,"c":false},{"a":24568,"n":"txt_fell_broke_my_neck","k":"table","len":23,"c":true},{"a":24591,"n":"txt_im_dead_2","k":"table","len":11,"c":true},{"a":24602,"n":"txt_dangerous_to_move_in","k":"table","len":32,"c":true},{"a":24634,"n":"txt_i_also_need_a","k":"table","len":27,"c":true},{"a":24661,"n":"txt_cant_go_that_way","k":"table","len":19,"c":true},{"a":24680,"n":"source_irq","k":"table","len":152,"c":true},{"a":24832,"n":"cond_module","k":"routine","len":3,"c":true},{"a":24835,"n":"inventory_jmp","k":"routine","len":3,"c":true},{"a":24838,"n":"next_param_jmp","k":"routine","len":3,"c":true},{"a":24841,"n":"save_game_jmp","k":"routine","len":3,"c":true},{"a":24844,"n":"cond_table_jmp","k":"routine","len":3,"c":true},{"a":24847,"n":"unused_jmps","k":"routine","len":6,"c":true},{"a":24853,"n":"print_item_jmp","k":"routine","len":3,"c":true},{"a":24856,"n":"cond_handlers","k":"table","len":40,"c":true},{"a":24896,"n":"cond_param","k":"routine","len":1,"c":true},{"a":24897,"n":"cond_carrying_any","k":"routine","len":4,"c":true},{"a":24901,"n":"cond_carrying_none","k":"routine","len":5,"c":true},{"a":24903,"n":"b_6147","k":"branch","len":1,"c":false},{"a":24915,"n":"b_6153","k":"branch","len":1,"c":false},{"a":24924,"n":"b_615C","k":"branch","len":1,"c":false},{"a":24938,"n":"r_616A","k":"branch","len":1,"c":false},{"a":24939,"n":"cond_carried","k":"routine","len":6,"c":true},{"a":24945,"n":"cond_not_available","k":"routine","len":14,"c":true},{"a":24959,"n":"cond_here","k":"routine","len":7,"c":true},{"a":24963,"n":"b_6183","k":"branch","len":1,"c":false},{"a":24966,"n":"cond_exists","k":"routine","len":6,"c":true},{"a":24972,"n":"cond_available","k":"routine","len":9,"c":true},{"a":24981,"n":"cond_not_exists","k":"routine","len":5,"c":true},{"a":24986,"n":"cond_in_room","k":"routine","len":7,"c":true},{"a":24992,"n":"r_61A0","k":"branch","len":1,"c":false},{"a":24993,"n":"cond_counter_le","k":"routine","len":3,"c":true},{"a":25007,"n":"b_61AF","k":"branch","len":1,"c":false},{"a":25009,"n":"cond_not_here","k":"routine","len":5,"c":true},{"a":25014,"n":"cond_counter_gt","k":"routine","len":3,"c":true},{"a":25029,"n":"cond_not_carried","k":"routine","len":5,"c":true},{"a":25034,"n":"cond_at_start","k":"routine","len":9,"c":true},{"a":25056,"n":"cond_not_in_room","k":"routine","len":7,"c":true},{"a":25063,"n":"cond_moved","k":"routine","len":9,"c":true},{"a":25085,"n":"cond_flag_set","k":"routine","len":7,"c":true},{"a":25092,"n":"cond_flag_clear","k":"routine","len":9,"c":true},{"a":25101,"n":"cond_counter_eq","k":"routine","len":3,"c":true},{"a":25114,"n":"draw_carried","k":"routine","len":30,"c":true},{"a":25144,"n":"inventory","k":"routine","len":14,"c":true},{"a":25185,"n":"list_carried","k":"routine","len":37,"c":true},{"a":25199,"n":"b_626F","k":"branch","len":1,"c":false},{"a":25227,"n":"b_628B","k":"branch","len":1,"c":false},{"a":25242,"n":"txt_carrying","k":"table","len":11,"c":true},{"a":25253,"n":"txt_nothing","k":"table","len":9,"c":true},{"a":25262,"n":"print_item","k":"routine","len":56,"c":true},{"a":25288,"n":"b_62C8","k":"branch","len":1,"c":false},{"a":25301,"n":"b_62D5","k":"branch","len":1,"c":false},{"a":25318,"n":"look","k":"routine","len":14,"c":true},{"a":25358,"n":"b_630E","k":"branch","len":1,"c":false},{"a":25400,"n":"b_6338","k":"branch","len":1,"c":false},{"a":25408,"n":"b_6340","k":"branch","len":1,"c":false},{"a":25452,"n":"list_items_here","k":"routine","len":33,"c":true},{"a":25462,"n":"b_6376","k":"branch","len":1,"c":false},{"a":25498,"n":"b_639A","k":"branch","len":1,"c":false},{"a":25530,"n":"b_63BA","k":"branch","len":1,"c":false},{"a":25536,"n":"b_63C0","k":"branch","len":1,"c":false},{"a":25547,"n":"b_63CB","k":"branch","len":1,"c":false},{"a":25553,"n":"describe_done","k":"routine","len":7,"c":true},{"a":25560,"n":"txt_too_dark","k":"table","len":18,"c":true},{"a":25578,"n":"txt_im_in_a","k":"table","len":10,"c":true},{"a":25588,"n":"txt_north","k":"table","len":7,"c":true},{"a":25595,"n":"txt_south","k":"table","len":7,"c":true},{"a":25602,"n":"txt_east","k":"table","len":6,"c":true},{"a":25608,"n":"txt_west","k":"table","len":6,"c":true},{"a":25614,"n":"txt_up","k":"table","len":4,"c":true},{"a":25618,"n":"txt_down","k":"table","len":6,"c":true},{"a":25624,"n":"next_param","k":"routine","len":12,"c":true},{"a":25633,"n":"b_6421","k":"branch","len":1,"c":false},{"a":25711,"n":"save_game","k":"routine","len":25,"c":true},{"a":25736,"n":"build_save_name","k":"routine","len":47,"c":true},{"a":25752,"n":"b_6498","k":"branch","len":1,"c":false},{"a":25791,"n":"saved_done","k":"routine","len":24,"c":true},{"a":25808,"n":"b_64D0","k":"branch","len":1,"c":false},{"a":25811,"n":"j_64D3","k":"branch","len":1,"c":false},{"a":25815,"n":"txt_error","k":"table","len":8,"c":true},{"a":25823,"n":"save_name_template","k":"table","len":7,"c":true},{"a":25830,"n":"picture_was_on","k":"variable","len":1,"c":true},{"a":25831,"n":"source_symbols","k":"table","len":89,"c":true},{"a":25920,"n":"c64_module","k":"routine","len":3,"c":true},{"a":25923,"n":"put_jmp","k":"routine","len":3,"c":true},{"a":25926,"n":"putcr_jmp","k":"routine","len":3,"c":true},{"a":25929,"n":"puts_jmp","k":"routine","len":3,"c":true},{"a":25932,"n":"putsa_jmp","k":"routine","len":3,"c":true},{"a":25935,"n":"putz_jmp","k":"routine","len":3,"c":true},{"a":25938,"n":"unused_jmp_541b","k":"routine","len":3,"c":true},{"a":25941,"n":"readk_jmp","k":"routine","len":3,"c":true},{"a":25944,"n":"cls_jmp","k":"routine","len":3,"c":true},{"a":25947,"n":"unused_brk_jmps","k":"routine","len":6,"c":true},{"a":25953,"n":"saver_jmp","k":"routine","len":3,"c":true},{"a":25956,"n":"geter_jmp","k":"routine","len":3,"c":true},{"a":25959,"n":"restrt_jmp","k":"routine","len":3,"c":true},{"a":25962,"n":"green_jmp","k":"routine","len":3,"c":true},{"a":25965,"n":"blue_jmp","k":"routine","len":3,"c":true},{"a":25968,"n":"find_word_jmp","k":"routine","len":3,"c":true},{"a":25971,"n":"init_state_jmp","k":"routine","len":3,"c":true},{"a":25974,"n":"wait_return_jmp","k":"routine","len":3,"c":true},{"a":25977,"n":"brk_target","k":"routine","len":1,"c":true},{"a":25978,"n":"line_width","k":"variable","len":1,"c":true},{"a":25979,"n":"cold_start","k":"routine","len":33,"c":true},{"a":26012,"n":"restart","k":"routine","len":63,"c":true},{"a":26075,"n":"main_loop","k":"routine","len":13,"c":true},{"a":26088,"n":"turn_end","k":"routine","len":52,"c":true},{"a":26110,"n":"b_65FE","k":"branch","len":1,"c":false},{"a":26115,"n":"b_6603","k":"branch","len":1,"c":false},{"a":26126,"n":"b_660E","k":"branch","len":1,"c":false},{"a":26140,"n":"vic_setup","k":"routine","len":33,"c":true},{"a":26173,"n":"green_text","k":"routine","len":6,"c":true},{"a":26175,"n":"b_663F","k":"branch","len":1,"c":false},{"a":26179,"n":"blue_text","k":"routine","len":4,"c":true},{"a":26183,"n":"putsa","k":"routine","len":9,"c":true},{"a":26192,"n":"puts","k":"routine","len":13,"c":true},{"a":26205,"n":"print_count","k":"routine","len":39,"c":true},{"a":26228,"n":"b_6674","k":"branch","len":1,"c":false},{"a":26230,"n":"b_6676","k":"branch","len":1,"c":false},{"a":26237,"n":"b_667D","k":"branch","len":1,"c":false},{"a":26244,"n":"putz","k":"routine","len":26,"c":true},{"a":26255,"n":"j_668F","k":"branch","len":1,"c":false},{"a":26270,"n":"putcr","k":"routine","len":7,"c":true},{"a":26277,"n":"put","k":"routine","len":102,"c":true},{"a":26280,"n":"b_66A8","k":"branch","len":1,"c":false},{"a":26290,"n":"b_66B2","k":"branch","len":1,"c":false},{"a":26302,"n":"b_66BE","k":"branch","len":1,"c":false},{"a":26304,"n":"b_66C0","k":"branch","len":1,"c":false},{"a":26307,"n":"b_66C3","k":"branch","len":1,"c":false},{"a":26311,"n":"b_66C7","k":"branch","len":1,"c":false},{"a":26321,"n":"b_66D1","k":"branch","len":1,"c":false},{"a":26339,"n":"b_66E3","k":"branch","len":1,"c":false},{"a":26362,"n":"b_66FA","k":"branch","len":1,"c":false},{"a":26379,"n":"print_line","k":"routine","len":49,"c":true},{"a":26408,"n":"b_6728","k":"branch","len":1,"c":false},{"a":26419,"n":"b_6733","k":"branch","len":1,"c":false},{"a":26428,"n":"print_buffer","k":"routine","len":65,"c":true},{"a":26430,"n":"b_673E","k":"branch","len":1,"c":false},{"a":26463,"n":"b_675F","k":"branch","len":1,"c":false},{"a":26470,"n":"b_6766","k":"branch","len":1,"c":false},{"a":26493,"n":"buffer_done","k":"routine","len":15,"c":true},{"a":26498,"n":"b_6782","k":"branch","len":1,"c":false},{"a":26508,"n":"output_hook","k":"routine","len":1,"c":true},{"a":26509,"n":"cursor_char","k":"variable","len":1,"c":true},{"a":26510,"n":"wait_line","k":"routine","len":16,"c":true},{"a":26526,"n":"readk","k":"routine","len":17,"c":true},{"a":26535,"n":"b_67A7","k":"branch","len":1,"c":false},{"a":26543,"n":"new_line","k":"routine","len":11,"c":true},{"a":26560,"n":"b_67C0","k":"branch","len":1,"c":false},{"a":26570,"n":"flash_cursor","k":"routine","len":6,"c":true},{"a":26584,"n":"poll_keyboard","k":"routine","len":80,"c":true},{"a":26612,"n":"b_67F4","k":"branch","len":1,"c":false},{"a":26638,"n":"b_680E","k":"branch","len":1,"c":false},{"a":26641,"n":"b_6811","k":"branch","len":1,"c":false},{"a":26683,"n":"b_683B","k":"branch","len":1,"c":false},{"a":26692,"n":"developer_exit","k":"routine","len":33,"c":true},{"a":26695,"n":"b_6847","k":"branch","len":1,"c":false},{"a":26700,"n":"b_684C","k":"branch","len":1,"c":false},{"a":26725,"n":"after_brk","k":"routine","len":9,"c":true},{"a":26734,"n":"key_return","k":"routine","len":13,"c":true},{"a":26741,"n":"b_6875","k":"branch","len":1,"c":false},{"a":26747,"n":"line_done","k":"routine","len":18,"c":true},{"a":26765,"n":"key_other","k":"routine","len":17,"c":true},{"a":26789,"n":"cls","k":"routine","len":25,"c":true},{"a":26814,"n":"saver","k":"routine","len":48,"c":true},{"a":26838,"n":"b_68D6","k":"branch","len":1,"c":false},{"a":26862,"n":"geter","k":"routine","len":26,"c":true},{"a":26878,"n":"b_68FE","k":"branch","len":1,"c":false},{"a":26888,"n":"init_state","k":"routine","len":3,"c":true},{"a":26935,"n":"b_6937","k":"branch","len":1,"c":false},{"a":26991,"n":"b_696F","k":"branch","len":1,"c":false},{"a":26997,"n":"find_word","k":"routine","len":17,"c":true},{"a":27019,"n":"b_698B","k":"branch","len":1,"c":false},{"a":27022,"n":"b_698E","k":"branch","len":1,"c":false},{"a":27031,"n":"b_6997","k":"branch","len":1,"c":false},{"a":27040,"n":"b_69A0","k":"branch","len":1,"c":false},{"a":27051,"n":"b_69AB","k":"branch","len":1,"c":false},{"a":27054,"n":"b_69AE","k":"branch","len":1,"c":false},{"a":27062,"n":"b_69B6","k":"branch","len":1,"c":false},{"a":27065,"n":"b_69B9","k":"branch","len":1,"c":false},{"a":27080,"n":"page_pause","k":"routine","len":66,"c":true},{"a":27099,"n":"b_69DB","k":"branch","len":1,"c":false},{"a":27114,"n":"b_69EA","k":"branch","len":1,"c":false},{"a":27116,"n":"b_69EC","k":"branch","len":1,"c":false},{"a":27118,"n":"b_69EE","k":"branch","len":1,"c":false},{"a":27131,"n":"b_69FB","k":"branch","len":1,"c":false},{"a":27138,"n":"b_6A02","k":"branch","len":1,"c":false},{"a":27145,"n":"r_6A09","k":"branch","len":1,"c":false},{"a":27146,"n":"beep_settings","k":"table","len":7,"c":true},{"a":27153,"n":"close_up_verb","k":"variable","len":1,"c":true},{"a":27154,"n":"close_up_items","k":"table","len":16,"c":true},{"a":27170,"n":"close_up_rooms","k":"table","len":16,"c":true},{"a":27186,"n":"close_up_nouns","k":"table","len":16,"c":true},{"a":27202,"n":"txt_hit_return_close","k":"table","len":15,"c":true},{"a":27217,"n":"close_up","k":"routine","len":46,"c":true},{"a":27224,"n":"r_6A58","k":"branch","len":1,"c":false},{"a":27225,"n":"b_6A59","k":"branch","len":1,"c":false},{"a":27231,"n":"b_6A5F","k":"branch","len":1,"c":false},{"a":27236,"n":"b_6A64","k":"branch","len":1,"c":false},{"a":27241,"n":"b_6A69","k":"branch","len":1,"c":false},{"a":27286,"n":"b_6A96","k":"branch","len":1,"c":false},{"a":27318,"n":"raster_irq","k":"routine","len":80,"c":true},{"a":27347,"n":"b_6AD3","k":"branch","len":1,"c":false},{"a":27356,"n":"b_6ADC","k":"branch","len":1,"c":false},{"a":27392,"n":"b_6B00","k":"branch","len":1,"c":false},{"a":27398,"n":"irq_text_only","k":"routine","len":6,"c":true},{"a":27404,"n":"irq_other","k":"routine","len":8,"c":true},{"a":27412,"n":"irq_tables","k":"variable","len":2,"c":true},{"a":27414,"n":"irq_next_line","k":"variable","len":2,"c":true},{"a":27416,"n":"irq_wait_line","k":"variable","len":2,"c":true},{"a":27418,"n":"irq_d018","k":"variable","len":2,"c":true},{"a":27420,"n":"irq_delay","k":"variable","len":2,"c":true},{"a":27422,"n":"irq_colour","k":"variable","len":1,"c":true},{"a":27423,"n":"irq_colour_bitmap","k":"variable","len":1,"c":true},{"a":27424,"n":"kernal_irq","k":"variable","len":1,"c":true},{"a":27425,"n":"kernal_irq_hi","k":"variable","len":1,"c":true},{"a":27426,"n":"irq_half","k":"variable","len":1,"c":true},{"a":27427,"n":"set_irq","k":"routine","len":40,"c":true},{"a":27467,"n":"key_filter","k":"routine","len":17,"c":true},{"a":27469,"n":"b_6B4D","k":"branch","len":1,"c":false},{"a":27479,"n":"b_6B57","k":"branch","len":1,"c":false},{"a":27484,"n":"refused_keys_base","k":"routine","len":1,"c":true},{"a":27485,"n":"refused_keys","k":"table","len":34,"c":true},{"a":27519,"n":"refuse_shifted","k":"routine","len":12,"c":true},{"a":27527,"n":"r_6B87","k":"branch","len":1,"c":false},{"a":27528,"n":"b_6B88","k":"branch","len":1,"c":false},{"a":27531,"n":"colour_test","k":"routine","len":13,"c":true},{"a":27539,"n":"b_6B93","k":"branch","len":1,"c":false},{"a":27566,"n":"colour_bars","k":"table","len":43,"c":true},{"a":27609,"n":"colour_names","k":"table","len":82,"c":true},{"a":27691,"n":"gap_6c2b","k":"table","len":21,"c":true},{"a":27712,"n":"input_module","k":"routine","len":3,"c":true},{"a":27715,"n":"putnum_jmp","k":"routine","len":3,"c":true},{"a":27718,"n":"getia_jmp","k":"routine","len":3,"c":true},{"a":27721,"n":"title_jmp","k":"routine","len":3,"c":true},{"a":27724,"n":"restore_jmp","k":"routine","len":3,"c":true},{"a":27727,"n":"input_jmp","k":"routine","len":3,"c":true},{"a":27730,"n":"light_jmp","k":"routine","len":3,"c":true},{"a":27733,"n":"light_countdown","k":"routine","len":3,"c":true},{"a":27785,"n":"r_6C89","k":"branch","len":1,"c":false},{"a":27786,"n":"b_6C8A","k":"branch","len":1,"c":false},{"a":27815,"n":"txt_light_runs_out_in","k":"table","len":21,"c":true},{"a":27836,"n":"txt_turns","k":"table","len":8,"c":true},{"a":27844,"n":"txt_light_ran_out","k":"table","len":18,"c":true},{"a":27862,"n":"reprompt","k":"routine","len":5,"c":true},{"a":27867,"n":"command_line","k":"routine","len":11,"c":true},{"a":27921,"n":"b_6D11","k":"branch","len":1,"c":false},{"a":27927,"n":"b_6D17","k":"branch","len":1,"c":false},{"a":27935,"n":"b_6D1F","k":"branch","len":1,"c":false},{"a":27958,"n":"b_6D36","k":"branch","len":1,"c":false},{"a":27964,"n":"b_6D3C","k":"branch","len":1,"c":false},{"a":27972,"n":"b_6D44","k":"branch","len":1,"c":false},{"a":27991,"n":"b_6D57","k":"branch","len":1,"c":false},{"a":28010,"n":"b_6D6A","k":"branch","len":1,"c":false},{"a":28011,"n":"dir_lookup_base","k":"routine","len":1,"c":true},{"a":28012,"n":"dir_names","k":"table","len":6,"c":true},{"a":28018,"n":"key_v","k":"routine","len":8,"c":true},{"a":28026,"n":"direction_letter","k":"routine","len":3,"c":true},{"a":28033,"n":"b_6D81","k":"branch","len":1,"c":false},{"a":28042,"n":"b_6D8A","k":"branch","len":1,"c":false},{"a":28049,"n":"lookup_verb","k":"routine","len":3,"c":true},{"a":28086,"n":"b_6DB6","k":"branch","len":1,"c":false},{"a":28138,"n":"b_6DEA","k":"branch","len":1,"c":false},{"a":28143,"n":"b_6DEF","k":"branch","len":1,"c":false},{"a":28145,"n":"b_6DF1","k":"branch","len":1,"c":false},{"a":28150,"n":"b_6DF6","k":"branch","len":1,"c":false},{"a":28166,"n":"txt_use_1_or_2","k":"table","len":25,"c":true},{"a":28191,"n":"txt_what_shall_i_do","k":"table","len":18,"c":true},{"a":28209,"n":"txt_dont_know_how_to","k":"table","len":20,"c":true},{"a":28229,"n":"txt_something","k":"table","len":15,"c":true},{"a":28244,"n":"txt_dont_know_what","k":"table","len":18,"c":true},{"a":28262,"n":"txt_is","k":"table","len":7,"c":true},{"a":28269,"n":"next_word","k":"routine","len":10,"c":true},{"a":28284,"n":"b_6E7C","k":"branch","len":1,"c":false},{"a":28293,"n":"b_6E85","k":"branch","len":1,"c":false},{"a":28300,"n":"b_6E8C","k":"branch","len":1,"c":false},{"a":28304,"n":"b_6E90","k":"branch","len":1,"c":false},{"a":28314,"n":"b_6E9A","k":"branch","len":1,"c":false},{"a":28323,"n":"getia","k":"routine","len":18,"c":true},{"a":28357,"n":"putnum","k":"routine","len":16,"c":true},{"a":28377,"n":"b_6ED9","k":"branch","len":1,"c":false},{"a":28410,"n":"b_6EFA","k":"branch","len":1,"c":false},{"a":28425,"n":"b_6F09","k":"branch","len":1,"c":false},{"a":28451,"n":"b_6F23","k":"branch","len":1,"c":false},{"a":28467,"n":"ask_save_area","k":"routine","len":3,"c":true},{"a":28491,"n":"b_6F4B","k":"branch","len":1,"c":false},{"a":28538,"n":"restore_prompt","k":"routine","len":3,"c":true},{"a":28574,"n":"b_6F9E","k":"branch","len":1,"c":false},{"a":28582,"n":"b_6FA6","k":"branch","len":1,"c":false},{"a":28586,"n":"b_6FAA","k":"branch","len":1,"c":false},{"a":28653,"n":"b_6FED","k":"branch","len":1,"c":false},{"a":28667,"n":"filename_ptr","k":"variable","len":1,"c":true},{"a":28668,"n":"filename_ptr_hi","k":"variable","len":1,"c":true},{"a":28669,"n":"txt_use_which_save_game","k":"table","len":33,"c":true},{"a":28702,"n":"txt_bad_save_file","k":"table","len":18,"c":true},{"a":28720,"n":"txt_do_you_want_to","k":"table","len":68,"c":true},{"a":28788,"n":"txt_scott_adams_and_commodore","k":"table","len":120,"c":true},{"a":28908,"n":"txt_version_3","k":"table","len":13,"c":true},{"a":28921,"n":"title_screens","k":"routine","len":3,"c":true},{"a":28977,"n":"txt_antman_ultron_hulk_dr","k":"table","len":385,"c":true},{"a":29362,"n":"txt_hit_return_now","k":"table","len":17,"c":true},{"a":29379,"n":"source_variables","k":"table","len":29,"c":true},{"a":29408,"n":"regs_module","k":"routine","len":3,"c":true},{"a":29411,"n":"pushl_jmp","k":"routine","len":3,"c":true},{"a":29414,"n":"pullhl_jmp","k":"routine","len":3,"c":true},{"a":29417,"n":"push_bc_jmp","k":"routine","len":3,"c":true},{"a":29420,"n":"pull_bc_jmp","k":"routine","len":3,"c":true},{"a":29423,"n":"push_de_jmp","k":"routine","len":3,"c":true},{"a":29426,"n":"pull_de_jmp","k":"routine","len":3,"c":true},{"a":29429,"n":"save_all_jmp","k":"routine","len":3,"c":true},{"a":29432,"n":"restore_all_jmp","k":"routine","len":3,"c":true},{"a":29435,"n":"inchl_jmp","k":"routine","len":3,"c":true},{"a":29438,"n":"inc_bc_jmp","k":"routine","len":3,"c":true},{"a":29441,"n":"inc_de_jmp","k":"routine","len":3,"c":true},{"a":29444,"n":"dechl_jmp","k":"routine","len":3,"c":true},{"a":29447,"n":"decbc_jmp","k":"routine","len":3,"c":true},{"a":29450,"n":"dec_de_jmp","k":"routine","len":3,"c":true},{"a":29453,"n":"de_hl_jmp","k":"routine","len":3,"c":true},{"a":29456,"n":"bc_hl_jmp","k":"routine","len":3,"c":true},{"a":29459,"n":"cmp_mem_jmp","k":"routine","len":3,"c":true},{"a":29462,"n":"cmp_imm_jmp","k":"routine","len":3,"c":true},{"a":29465,"n":"add_jmp","k":"routine","len":3,"c":true},{"a":29468,"n":"sethli_jmp","k":"routine","len":3,"c":true},{"a":29471,"n":"load_hl_jmp","k":"routine","len":3,"c":true},{"a":29474,"n":"push_ix_jmp","k":"routine","len":3,"c":true},{"a":29477,"n":"pull_ix_jmp","k":"routine","len":3,"c":true},{"a":29480,"n":"push_iy_jmp","k":"routine","len":3,"c":true},{"a":29483,"n":"pull_iy_jmp","k":"routine","len":3,"c":true},{"a":29486,"n":"inc_iy_jmp","k":"routine","len":3,"c":true},{"a":29489,"n":"store_hl","k":"routine","len":21,"c":true},{"a":29510,"n":"inline_word","k":"routine","len":40,"c":true},{"a":29550,"n":"push_pair","k":"routine","len":35,"c":true},{"a":29567,"n":"b_737F","k":"branch","len":1,"c":false},{"a":29585,"n":"pull_pair","k":"routine","len":35,"c":true},{"a":29602,"n":"b_73A2","k":"branch","len":1,"c":false},{"a":29620,"n":"push_bc","k":"routine","len":7,"c":true},{"a":29627,"n":"pull_bc","k":"routine","len":7,"c":true},{"a":29634,"n":"pushl","k":"routine","len":7,"c":true},{"a":29641,"n":"pullhl","k":"routine","len":7,"c":true},{"a":29648,"n":"push_de","k":"routine","len":7,"c":true},{"a":29653,"n":"b_73D5","k":"branch","len":1,"c":false},{"a":29655,"n":"pull_de","k":"routine","len":7,"c":true},{"a":29660,"n":"b_73DC","k":"branch","len":1,"c":false},{"a":29662,"n":"pull_ix","k":"routine","len":7,"c":true},{"a":29669,"n":"push_ix","k":"routine","len":7,"c":true},{"a":29676,"n":"pull_iy","k":"routine","len":7,"c":true},{"a":29683,"n":"push_iy","k":"routine","len":7,"c":true},{"a":29690,"n":"inc_iy","k":"routine","len":9,"c":true},{"a":29699,"n":"save_all","k":"routine","len":45,"c":true},{"a":29741,"n":"b_742D","k":"branch","len":1,"c":false},{"a":29744,"n":"restore_all","k":"routine","len":33,"c":true},{"a":29774,"n":"b_744E","k":"branch","len":1,"c":false},{"a":29777,"n":"inchl","k":"routine","len":7,"c":true},{"a":29784,"n":"restore_flags_rts","k":"routine","len":2,"c":true},{"a":29786,"n":"inc_bc","k":"routine","len":10,"c":true},{"a":29796,"n":"inc_de","k":"routine","len":10,"c":true},{"a":29806,"n":"dec_pair","k":"routine","len":18,"c":true},{"a":29824,"n":"decbc","k":"routine","len":8,"c":true},{"a":29832,"n":"dechl","k":"routine","len":8,"c":true},{"a":29840,"n":"dec_de","k":"routine","len":8,"c":true},{"a":29848,"n":"pair_from_hl","k":"routine","len":13,"c":true},{"a":29861,"n":"bc_from_hl","k":"routine","len":8,"c":true},{"a":29869,"n":"de_from_hl","k":"routine","len":8,"c":true},{"a":29877,"n":"compare_hl","k":"routine","len":38,"c":true},{"a":29904,"n":"b_74D0","k":"branch","len":1,"c":false},{"a":29905,"n":"b_74D1","k":"branch","len":1,"c":false},{"a":29909,"n":"b_74D5","k":"branch","len":1,"c":false},{"a":29915,"n":"cmp_hl_imm","k":"routine","len":17,"c":true},{"a":29932,"n":"cmp_hl_mem","k":"routine","len":20,"c":true},{"a":29952,"n":"add_hl_bc","k":"routine","len":18,"c":true},{"a":29970,"n":"load_hl","k":"routine","len":17,"c":true},{"a":29987,"n":"return_geter","k":"routine","len":4,"c":true},{"a":29991,"n":"sethli","k":"routine","len":17,"c":true},{"a":30008,"n":"source_symbols_2","k":"table","len":8,"c":true},{"a":30016,"n":"picture_module","k":"routine","len":3,"c":true},{"a":30019,"n":"draw_item_jmp","k":"routine","len":3,"c":true},{"a":30022,"n":"picture_on_jmp","k":"routine","len":3,"c":true},{"a":30025,"n":"picture_off_jmp","k":"routine","len":3,"c":true},{"a":30028,"n":"dark_test_jmp","k":"routine","len":3,"c":true},{"a":30031,"n":"clear_bitmap_jmp","k":"routine","len":3,"c":true},{"a":30034,"n":"colour_row_jmp","k":"routine","len":3,"c":true},{"a":30037,"n":"load_picture_jmp","k":"routine","len":3,"c":true},{"a":30040,"n":"drive_code_jmp","k":"routine","len":3,"c":true},{"a":30043,"n":"drive_send_jmp","k":"routine","len":3,"c":true},{"a":30046,"n":"cached_picture","k":"variable","len":1,"c":true},{"a":30047,"n":"piece_number","k":"variable","len":1,"c":true},{"a":30048,"n":"dark_test","k":"routine","len":8,"c":true},{"a":30069,"n":"r_7575","k":"branch","len":1,"c":false},{"a":30070,"n":"picture_on","k":"routine","len":20,"c":true},{"a":30086,"n":"b_7586","k":"branch","len":1,"c":false},{"a":30090,"n":"picture_off","k":"routine","len":20,"c":true},{"a":30106,"n":"b_759A","k":"branch","len":1,"c":false},{"a":30110,"n":"draw_room","k":"routine","len":82,"c":true},{"a":30118,"n":"b_75A6","k":"branch","len":1,"c":false},{"a":30145,"n":"b_75C1","k":"branch","len":1,"c":false},{"a":30166,"n":"b_75D6","k":"branch","len":1,"c":false},{"a":30180,"n":"j_75E4","k":"branch","len":1,"c":false},{"a":30192,"n":"picture_number","k":"variable","len":1,"c":true},{"a":30193,"n":"picture_owed","k":"routine","len":6,"c":true},{"a":30199,"n":"draw_items_here","k":"routine","len":16,"c":true},{"a":30211,"n":"b_7603","k":"branch","len":1,"c":false},{"a":30228,"n":"b_7614","k":"branch","len":1,"c":false},{"a":30255,"n":"b_762F","k":"branch","len":1,"c":false},{"a":30260,"n":"draw_item","k":"routine","len":56,"c":true},{"a":30293,"n":"b_7655","k":"branch","len":1,"c":false},{"a":30312,"n":"b_7668","k":"branch","len":1,"c":false},{"a":30316,"n":"picture_name","k":"variable","len":1,"c":true},{"a":30317,"n":"picture_name_any","k":"variable","len":1,"c":true},{"a":30318,"n":"picture_name_any_2","k":"variable","len":1,"c":true},{"a":30319,"n":"picture_name_100s","k":"variable","len":1,"c":true},{"a":30320,"n":"picture_name_10s","k":"variable","len":1,"c":true},{"a":30321,"n":"picture_name_1s","k":"variable","len":1,"c":true},{"a":30322,"n":"picture_name_kind","k":"variable","len":1,"c":true},{"a":30323,"n":"picture_num_work","k":"variable","len":1,"c":true},{"a":30324,"n":"picture_num_kept","k":"variable","len":1,"c":true},{"a":30325,"n":"missing_pieces","k":"table","len":256,"c":true},{"a":30581,"n":"gap_7775","k":"variable","len":2,"c":true},{"a":30583,"n":"load_picture","k":"routine","len":184,"c":true},{"a":30605,"n":"b_778D","k":"branch","len":1,"c":false},{"a":30623,"n":"b_779F","k":"branch","len":1,"c":false},{"a":30632,"n":"b_77A8","k":"branch","len":1,"c":false},{"a":30634,"n":"b_77AA","k":"branch","len":1,"c":false},{"a":30642,"n":"b_77B2","k":"branch","len":1,"c":false},{"a":30655,"n":"b_77BF","k":"branch","len":1,"c":false},{"a":30678,"n":"b_77D6","k":"branch","len":1,"c":false},{"a":30705,"n":"b_77F1","k":"branch","len":1,"c":false},{"a":30732,"n":"b_780C","k":"branch","len":1,"c":false},{"a":30740,"n":"b_7814","k":"branch","len":1,"c":false},{"a":30747,"n":"b_781B","k":"branch","len":1,"c":false},{"a":30760,"n":"b_7828","k":"branch","len":1,"c":false},{"a":30766,"n":"r_782E","k":"branch","len":1,"c":false},{"a":30767,"n":"read_port","k":"routine","len":9,"c":true},{"a":30776,"n":"clock_out_low","k":"routine","len":9,"c":true},{"a":30785,"n":"release_lines","k":"routine","len":11,"c":true},{"a":30790,"n":"b_7846","k":"branch","len":1,"c":false},{"a":30796,"n":"handshake","k":"routine","len":13,"c":true},{"a":30799,"n":"b_784F","k":"branch","len":1,"c":false},{"a":30809,"n":"receive_byte","k":"routine","len":74,"c":true},{"a":30821,"n":"b_7865","k":"branch","len":1,"c":false},{"a":30835,"n":"b_7873","k":"branch","len":1,"c":false},{"a":30860,"n":"b_788C","k":"branch","len":1,"c":false},{"a":30883,"n":"send_byte","k":"routine","len":39,"c":true},{"a":30887,"n":"b_78A7","k":"branch","len":1,"c":false},{"a":30890,"n":"b_78AA","k":"branch","len":1,"c":false},{"a":30907,"n":"b_78BB","k":"branch","len":1,"c":false},{"a":30912,"n":"b_78C0","k":"branch","len":1,"c":false},{"a":30922,"n":"name_index","k":"variable","len":1,"c":true},{"a":30923,"n":"load_failed","k":"routine","len":19,"c":true},{"a":30939,"n":"b_78DB","k":"branch","len":1,"c":false},{"a":30947,"n":"j_78E3","k":"branch","len":1,"c":false},{"a":30956,"n":"txt_disk_error","k":"table","len":14,"c":true},{"a":30970,"n":"digits","k":"table","len":10,"c":true},{"a":30980,"n":"send_drive_code","k":"routine","len":74,"c":true},{"a":31007,"n":"b_791F","k":"branch","len":1,"c":false},{"a":31017,"n":"b_7929","k":"branch","len":1,"c":false},{"a":31054,"n":"send_command","k":"routine","len":14,"c":true},{"a":31056,"n":"b_7950","k":"branch","len":1,"c":false},{"a":31068,"n":"drive_commands","k":"table","len":5,"c":true},{"a":31073,"n":"mw_count","k":"table","len":6,"c":true},{"a":31079,"n":"drive_boot","k":"table","len":26,"c":true},{"a":31105,"n":"init_command","k":"variable","len":2,"c":true},{"a":31107,"n":"picture_bottom","k":"variable","len":1,"c":true},{"a":31108,"n":"cache_picture","k":"routine","len":13,"c":true},{"a":31140,"n":"restore_picture","k":"routine","len":3,"c":true},{"a":31159,"n":"copy_picture","k":"routine","len":6,"c":true},{"a":31175,"n":"b_79C7","k":"branch","len":1,"c":false},{"a":31185,"n":"b_79D1","k":"branch","len":1,"c":false},{"a":31191,"n":"b_79D7","k":"branch","len":1,"c":false},{"a":31208,"n":"r_79E8","k":"branch","len":1,"c":false},{"a":31209,"n":"lookup_value","k":"variable","len":1,"c":true},{"a":31210,"n":"piece_for_room","k":"routine","len":36,"c":true},{"a":31215,"n":"b_79EF","k":"branch","len":1,"c":false},{"a":31242,"n":"b_7A0A","k":"branch","len":1,"c":false},{"a":31246,"n":"piece_swaps","k":"variable","len":1,"c":true},{"a":31247,"n":"piece_swap_piece","k":"variable","len":1,"c":true},{"a":31248,"n":"piece_swap_new","k":"table","len":11,"c":true},{"a":31259,"n":"source_symbols_3","k":"table","len":60,"c":true},{"a":31319,"n":"room_picture","k":"routine","len":27,"c":true},{"a":31324,"n":"b_7A5C","k":"branch","len":1,"c":false},{"a":31342,"n":"b_7A6E","k":"branch","len":1,"c":false},{"a":31346,"n":"room_pictures","k":"variable","len":1,"c":true},{"a":31347,"n":"room_picture_for","k":"table","len":20,"c":true},{"a":31367,"n":"decoder_vars","k":"variable","len":1,"c":true},{"a":31368,"n":"decode_first_column","k":"variable","len":1,"c":true},{"a":31369,"n":"decode_first_row","k":"variable","len":1,"c":true},{"a":31370,"n":"decode_last_column","k":"variable","len":1,"c":true},{"a":31371,"n":"decode_column","k":"variable","len":1,"c":true},{"a":31372,"n":"decode_row","k":"variable","len":1,"c":true},{"a":31373,"n":"decode_colour_1","k":"variable","len":1,"c":true},{"a":31374,"n":"decode_colour_2","k":"variable","len":1,"c":true},{"a":31375,"n":"decode_colour_3","k":"variable","len":1,"c":true},{"a":31376,"n":"draw_picture","k":"routine","len":10,"c":true},{"a":31386,"n":"decode_picture","k":"routine","len":92,"c":true},{"a":31395,"n":"b_7AA3","k":"branch","len":1,"c":false},{"a":31478,"n":"next_run","k":"routine","len":22,"c":true},{"a":31487,"n":"b_7AFF","k":"branch","len":1,"c":false},{"a":31500,"n":"repeated_pair","k":"routine","len":18,"c":true},{"a":31508,"n":"b_7B14","k":"branch","len":1,"c":false},{"a":31518,"n":"next_byte","k":"routine","len":11,"c":true},{"a":31528,"n":"r_7B28","k":"branch","len":1,"c":false},{"a":31529,"n":"next_pair","k":"routine","len":23,"c":true},{"a":31551,"n":"r_7B3F","k":"branch","len":1,"c":false},{"a":31552,"n":"write_pair","k":"routine","len":49,"c":true},{"a":31595,"n":"b_7B6B","k":"branch","len":1,"c":false},{"a":31598,"n":"b_7B6E","k":"branch","len":1,"c":false},{"a":31601,"n":"colour_from_byte","k":"routine","len":26,"c":true},{"a":31609,"n":"b_7B79","k":"branch","len":1,"c":false},{"a":31620,"n":"b_7B84","k":"branch","len":1,"c":false},{"a":31627,"n":"high_nibble","k":"routine","len":7,"c":true},{"a":31634,"n":"bright_colours","k":"table","len":16,"c":true},{"a":31650,"n":"dark_colours","k":"table","len":16,"c":true},{"a":31666,"n":"fill_colour_ram","k":"routine","len":29,"c":true},{"a":31695,"n":"fill_bytes","k":"routine","len":22,"c":true},{"a":31705,"n":"b_7BD9","k":"branch","len":1,"c":false},{"a":31716,"n":"r_7BE4","k":"branch","len":1,"c":false},{"a":31717,"n":"fill_screen","k":"routine","len":36,"c":true},{"a":31753,"n":"bitmap_address","k":"routine","len":84,"c":true},{"a":31789,"n":"b_7C2D","k":"branch","len":1,"c":false},{"a":31822,"n":"b_7C4E","k":"branch","len":1,"c":false},{"a":31836,"n":"r_7C5C","k":"branch","len":1,"c":false},{"a":31837,"n":"column_lo","k":"table","len":40,"c":true},{"a":31877,"n":"column_hi","k":"table","len":40,"c":true},{"a":31917,"n":"row_lo","k":"table","len":21,"c":true},{"a":31938,"n":"row_hi","k":"table","len":21,"c":true},{"a":31959,"n":"clear_bitmap","k":"routine","len":28,"c":true},{"a":31987,"n":"colour_row_20","k":"routine","len":33,"c":true},{"a":32020,"n":"row_20_count","k":"routine","len":13,"c":true},{"a":32033,"n":"unused_output_hook","k":"routine","len":36,"c":true},{"a":32069,"n":"hook_save","k":"variable","len":1,"c":true},{"a":32070,"n":"kept_output_hi","k":"table","len":26,"c":true},{"a":32096,"n":"demo_module","k":"routine","len":3,"c":true},{"a":32099,"n":"demo_char","k":"variable","len":1,"c":true},{"a":32100,"n":"demo_key","k":"routine","len":6,"c":true},{"a":32108,"n":"demo_wait","k":"routine","len":12,"c":true},{"a":32148,"n":"b_7D94","k":"branch","len":1,"c":false},{"a":32172,"n":"r_7DAC","k":"branch","len":1,"c":false},{"a":32173,"n":"demo_script","k":"table","len":361,"c":true},{"a":32534,"n":"program_tail","k":"table","len":233,"c":true},{"a":32816,"n":"db_action_verbs","k":"variable","len":2,"c":true},{"a":32818,"n":"db_action_nouns","k":"variable","len":2,"c":true},{"a":32820,"n":"db_action_commands","k":"table","len":8,"c":true},{"a":32828,"n":"db_action_conditions","k":"table","len":10,"c":true},{"a":32838,"n":"db_room_texts","k":"variable","len":2,"c":true},{"a":32840,"n":"db_exits","k":"table","len":12,"c":true},{"a":32852,"n":"db_messages","k":"variable","len":2,"c":true},{"a":32854,"n":"db_locations_copy","k":"variable","len":2,"c":true},{"a":32856,"n":"db_item_texts","k":"variable","len":2,"c":true},{"a":32858,"n":"db_start_locations","k":"variable","len":2,"c":true},{"a":32860,"n":"db_92fb","k":"variable","len":2,"c":true},{"a":32862,"n":"db_noun_list","k":"variable","len":2,"c":true},{"a":32864,"n":"db_verb_list","k":"variable","len":2,"c":true},{"a":32866,"n":"db_version","k":"variable","len":2,"c":true},{"a":32868,"n":"db_check","k":"variable","len":2,"c":true},{"a":32870,"n":"db_word_length","k":"variable","len":2,"c":true},{"a":32872,"n":"db_last_word","k":"variable","len":2,"c":true},{"a":32874,"n":"db_last_action","k":"variable","len":2,"c":true},{"a":32876,"n":"db_last_item","k":"variable","len":2,"c":true},{"a":32878,"n":"db_last_message","k":"variable","len":2,"c":true},{"a":32880,"n":"db_limbo","k":"variable","len":2,"c":true},{"a":32882,"n":"db_max_carry","k":"variable","len":2,"c":true},{"a":32884,"n":"db_start_room","k":"variable","len":1,"c":true},{"a":32885,"n":"db_start_room_hi","k":"variable","len":1,"c":true},{"a":32886,"n":"db_treasures","k":"variable","len":2,"c":true},{"a":32888,"n":"db_light_turns","k":"variable","len":1,"c":true},{"a":32889,"n":"db_light_turns_hi","k":"variable","len":1,"c":true},{"a":32890,"n":"db_807a","k":"variable","len":1,"c":true},{"a":32891,"n":"db_treasure_room","k":"variable","len":2,"c":true},{"a":32893,"n":"db_item_text_size","k":"variable","len":2,"c":true},{"a":32895,"n":"db_807f","k":"table","len":3,"c":true},{"a":32898,"n":"noun_list","k":"table","len":645,"c":true},{"a":33543,"n":"verb_list","k":"table","len":645,"c":true},{"a":34188,"n":"room_text_00","k":"variable","len":1,"c":true},{"a":34189,"n":"room_text_01","k":"table","len":47,"c":true},{"a":34236,"n":"room_text_02","k":"table","len":5,"c":true},{"a":34241,"n":"room_text_03","k":"table","len":21,"c":true},{"a":34262,"n":"room_text_04","k":"table","len":6,"c":true},{"a":34268,"n":"room_text_05","k":"table","len":17,"c":true},{"a":34285,"n":"room_text_06","k":"table","len":17,"c":true},{"a":34302,"n":"room_text_07","k":"table","len":6,"c":true},{"a":34308,"n":"room_text_08","k":"table","len":6,"c":true},{"a":34314,"n":"room_text_09","k":"table","len":5,"c":true},{"a":34319,"n":"room_text_10","k":"table","len":5,"c":true},{"a":34324,"n":"room_text_11","k":"table","len":5,"c":true},{"a":34329,"n":"room_text_12","k":"table","len":7,"c":true},{"a":34336,"n":"room_text_13","k":"table","len":5,"c":true},{"a":34341,"n":"room_text_14","k":"table","len":5,"c":true},{"a":34346,"n":"room_text_15","k":"table","len":23,"c":true},{"a":34369,"n":"room_text_16","k":"table","len":11,"c":true},{"a":34380,"n":"room_text_17","k":"table","len":5,"c":true},{"a":34385,"n":"room_text_18","k":"table","len":5,"c":true},{"a":34390,"n":"room_text_19","k":"table","len":73,"c":true},{"a":34463,"n":"room_text_20","k":"table","len":15,"c":true},{"a":34478,"n":"message_00","k":"variable","len":1,"c":true},{"a":34479,"n":"message_01","k":"table","len":5,"c":true},{"a":34484,"n":"message_02","k":"table","len":6,"c":true},{"a":34490,"n":"message_03","k":"table","len":8,"c":true},{"a":34498,"n":"message_04","k":"table","len":8,"c":true},{"a":34506,"n":"message_05","k":"table","len":10,"c":true},{"a":34516,"n":"message_06","k":"table","len":7,"c":true},{"a":34523,"n":"message_07","k":"variable","len":2,"c":true},{"a":34525,"n":"message_08","k":"table","len":14,"c":true},{"a":34539,"n":"message_09","k":"table","len":5,"c":true},{"a":34544,"n":"message_10","k":"table","len":25,"c":true},{"a":34569,"n":"message_11","k":"table","len":224,"c":true},{"a":34793,"n":"message_12","k":"table","len":13,"c":true},{"a":34806,"n":"message_13","k":"table","len":14,"c":true},{"a":34820,"n":"message_14","k":"table","len":9,"c":true},{"a":34829,"n":"message_15","k":"table","len":5,"c":true},{"a":34834,"n":"message_16","k":"table","len":6,"c":true},{"a":34840,"n":"message_17","k":"table","len":7,"c":true},{"a":34847,"n":"message_18","k":"table","len":4,"c":true},{"a":34851,"n":"message_19","k":"table","len":43,"c":true},{"a":34894,"n":"message_20","k":"table","len":17,"c":true},{"a":34911,"n":"message_21","k":"table","len":14,"c":true},{"a":34925,"n":"message_22","k":"table","len":6,"c":true},{"a":34931,"n":"message_23","k":"table","len":9,"c":true},{"a":34940,"n":"message_24","k":"table","len":13,"c":true},{"a":34953,"n":"message_25","k":"table","len":5,"c":true},{"a":34958,"n":"message_26","k":"table","len":18,"c":true},{"a":34976,"n":"message_27","k":"table","len":23,"c":true},{"a":34999,"n":"message_28","k":"table","len":6,"c":true},{"a":35005,"n":"message_29","k":"table","len":18,"c":true},{"a":35023,"n":"message_30","k":"table","len":5,"c":true},{"a":35028,"n":"message_31","k":"table","len":17,"c":true},{"a":35045,"n":"message_32","k":"table","len":6,"c":true},{"a":35051,"n":"message_33","k":"table","len":6,"c":true},{"a":35057,"n":"message_34","k":"table","len":6,"c":true},{"a":35063,"n":"message_35","k":"table","len":6,"c":true},{"a":35069,"n":"message_36","k":"table","len":21,"c":true},{"a":35090,"n":"message_37","k":"table","len":17,"c":true},{"a":35107,"n":"message_38","k":"table","len":7,"c":true},{"a":35114,"n":"message_39","k":"table","len":11,"c":true},{"a":35125,"n":"message_40","k":"table","len":18,"c":true},{"a":35143,"n":"message_41","k":"table","len":22,"c":true},{"a":35165,"n":"message_42","k":"table","len":7,"c":true},{"a":35172,"n":"message_43","k":"table","len":9,"c":true},{"a":35181,"n":"message_44","k":"table","len":14,"c":true},{"a":35195,"n":"message_45","k":"table","len":5,"c":true},{"a":35200,"n":"message_46","k":"table","len":9,"c":true},{"a":35209,"n":"message_47","k":"table","len":8,"c":true},{"a":35217,"n":"message_48","k":"table","len":8,"c":true},{"a":35225,"n":"message_49","k":"table","len":21,"c":true},{"a":35246,"n":"message_50","k":"table","len":8,"c":true},{"a":35254,"n":"message_51","k":"table","len":11,"c":true},{"a":35265,"n":"message_52","k":"table","len":32,"c":true},{"a":35297,"n":"message_53","k":"table","len":26,"c":true},{"a":35323,"n":"message_54","k":"table","len":14,"c":true},{"a":35337,"n":"message_55","k":"table","len":38,"c":true},{"a":35375,"n":"message_56","k":"table","len":39,"c":true},{"a":35414,"n":"message_57","k":"table","len":14,"c":true},{"a":35428,"n":"message_58","k":"table","len":19,"c":true},{"a":35447,"n":"message_59","k":"table","len":4,"c":true},{"a":35451,"n":"message_60","k":"table","len":5,"c":true},{"a":35456,"n":"message_61","k":"table","len":78,"c":true},{"a":35534,"n":"message_62","k":"table","len":9,"c":true},{"a":35543,"n":"message_63","k":"table","len":24,"c":true},{"a":35567,"n":"message_64","k":"table","len":18,"c":true},{"a":35585,"n":"message_65","k":"table","len":17,"c":true},{"a":35602,"n":"message_66","k":"table","len":11,"c":true},{"a":35613,"n":"message_67","k":"table","len":22,"c":true},{"a":35635,"n":"message_68","k":"table","len":19,"c":true},{"a":35654,"n":"message_69","k":"table","len":14,"c":true},{"a":35668,"n":"message_70","k":"table","len":28,"c":true},{"a":35696,"n":"message_71","k":"table","len":12,"c":true},{"a":35708,"n":"message_72","k":"table","len":14,"c":true},{"a":35722,"n":"message_73","k":"table","len":27,"c":true},{"a":35749,"n":"message_74","k":"table","len":30,"c":true},{"a":35779,"n":"message_75","k":"table","len":10,"c":true},{"a":35789,"n":"message_76","k":"table","len":76,"c":true},{"a":35865,"n":"message_77","k":"table","len":22,"c":true},{"a":35887,"n":"message_78","k":"table","len":42,"c":true},{"a":35929,"n":"message_79","k":"table","len":10,"c":true},{"a":35939,"n":"message_80","k":"table","len":23,"c":true},{"a":35962,"n":"message_81","k":"table","len":17,"c":true},{"a":35979,"n":"message_82","k":"table","len":14,"c":true},{"a":35993,"n":"message_83","k":"table","len":30,"c":true},{"a":36023,"n":"message_84","k":"table","len":60,"c":true},{"a":36083,"n":"message_85","k":"table","len":15,"c":true},{"a":36098,"n":"message_86","k":"table","len":32,"c":true},{"a":36130,"n":"message_87","k":"table","len":83,"c":true},{"a":36213,"n":"message_88","k":"table","len":43,"c":true},{"a":36256,"n":"message_89","k":"table","len":13,"c":true},{"a":36269,"n":"message_90","k":"table","len":123,"c":true},{"a":36392,"n":"message_91","k":"table","len":61,"c":true},{"a":36453,"n":"message_92","k":"table","len":33,"c":true},{"a":36486,"n":"message_93","k":"table","len":44,"c":true},{"a":36530,"n":"message_94","k":"table","len":16,"c":true},{"a":36546,"n":"message_95","k":"table","len":40,"c":true},{"a":36586,"n":"message_96","k":"table","len":72,"c":true},{"a":36658,"n":"message_97","k":"table","len":85,"c":true},{"a":36743,"n":"message_98","k":"table","len":52,"c":true},{"a":36795,"n":"message_99","k":"table","len":155,"c":true},{"a":36950,"n":"item_text_00","k":"variable","len":1,"c":true},{"a":36951,"n":"item_text_01","k":"table","len":5,"c":true},{"a":36956,"n":"item_text_02","k":"table","len":14,"c":true},{"a":36970,"n":"item_text_03","k":"table","len":20,"c":true},{"a":36990,"n":"item_text_04","k":"table","len":11,"c":true},{"a":37001,"n":"item_text_05","k":"table","len":11,"c":true},{"a":37012,"n":"item_text_06","k":"table","len":5,"c":true},{"a":37017,"n":"item_text_07","k":"table","len":5,"c":true},{"a":37022,"n":"item_text_08","k":"table","len":5,"c":true},{"a":37027,"n":"item_text_09","k":"variable","len":2,"c":true},{"a":37029,"n":"item_text_10","k":"table","len":11,"c":true},{"a":37040,"n":"item_text_11","k":"table","len":11,"c":true},{"a":37051,"n":"item_text_12","k":"table","len":11,"c":true},{"a":37062,"n":"item_text_13","k":"table","len":11,"c":true},{"a":37073,"n":"item_text_14","k":"table","len":11,"c":true},{"a":37084,"n":"item_text_15","k":"table","len":11,"c":true},{"a":37095,"n":"item_text_16","k":"table","len":11,"c":true},{"a":37106,"n":"item_text_17","k":"table","len":24,"c":true},{"a":37130,"n":"item_text_18","k":"table","len":15,"c":true},{"a":37145,"n":"item_text_19","k":"table","len":11,"c":true},{"a":37156,"n":"item_text_20","k":"table","len":23,"c":true},{"a":37179,"n":"item_text_21","k":"table","len":10,"c":true},{"a":37189,"n":"item_text_22","k":"table","len":11,"c":true},{"a":37200,"n":"item_text_23","k":"table","len":21,"c":true},{"a":37221,"n":"item_text_24","k":"table","len":12,"c":true},{"a":37233,"n":"item_text_25","k":"table","len":38,"c":true},{"a":37271,"n":"item_text_26","k":"table","len":33,"c":true},{"a":37304,"n":"item_text_27","k":"table","len":17,"c":true},{"a":37321,"n":"item_text_28","k":"table","len":19,"c":true},{"a":37340,"n":"item_text_29","k":"table","len":11,"c":true},{"a":37351,"n":"item_text_30","k":"table","len":11,"c":true},{"a":37362,"n":"item_text_31","k":"table","len":11,"c":true},{"a":37373,"n":"item_text_32","k":"table","len":11,"c":true},{"a":37384,"n":"item_text_33","k":"table","len":29,"c":true},{"a":37413,"n":"item_text_34","k":"table","len":19,"c":true},{"a":37432,"n":"item_text_35","k":"table","len":11,"c":true},{"a":37443,"n":"item_text_36","k":"table","len":15,"c":true},{"a":37458,"n":"item_text_37","k":"table","len":11,"c":true},{"a":37469,"n":"item_text_38","k":"table","len":5,"c":true},{"a":37474,"n":"item_text_39","k":"table","len":16,"c":true},{"a":37490,"n":"item_text_40","k":"table","len":15,"c":true},{"a":37505,"n":"item_text_41","k":"table","len":14,"c":true},{"a":37519,"n":"item_text_42","k":"table","len":11,"c":true},{"a":37530,"n":"item_text_43","k":"table","len":5,"c":true},{"a":37535,"n":"item_text_44","k":"table","len":11,"c":true},{"a":37546,"n":"item_text_45","k":"table","len":7,"c":true},{"a":37553,"n":"item_text_46","k":"table","len":11,"c":true},{"a":37564,"n":"item_text_47","k":"table","len":11,"c":true},{"a":37575,"n":"item_text_48","k":"table","len":11,"c":true},{"a":37586,"n":"item_text_49","k":"table","len":8,"c":true},{"a":37594,"n":"item_text_50","k":"table","len":11,"c":true},{"a":37605,"n":"item_text_51","k":"table","len":11,"c":true},{"a":37616,"n":"item_text_52","k":"table","len":5,"c":true},{"a":37621,"n":"item_text_53","k":"table","len":5,"c":true},{"a":37626,"n":"item_text_54","k":"variable","len":1,"c":true},{"a":37627,"n":"locations_copy_before","k":"variable","len":1,"c":true},{"a":37628,"n":"locations_copy","k":"table","len":110,"c":true},{"a":37738,"n":"item_text_table","k":"table","len":110,"c":true},{"a":37848,"n":"start_locations","k":"table","len":110,"c":true},{"a":37958,"n":"action_verbs","k":"table","len":262,"c":true},{"a":38220,"n":"action_nouns","k":"table","len":262,"c":true},{"a":38482,"n":"action_commands_1","k":"table","len":262,"c":true},{"a":38744,"n":"action_commands_2","k":"table","len":262,"c":true},{"a":39006,"n":"action_commands_3","k":"table","len":262,"c":true},{"a":39268,"n":"action_commands_4","k":"table","len":262,"c":true},{"a":39530,"n":"action_conditions_1","k":"table","len":524,"c":true},{"a":40054,"n":"action_conditions_2","k":"table","len":524,"c":true},{"a":40578,"n":"action_conditions_3","k":"table","len":382,"c":true},{"a":41102,"n":"action_conditions_4","k":"table","len":524,"c":true},{"a":41626,"n":"action_conditions_5","k":"table","len":524,"c":true},{"a":42150,"n":"room_text_table","k":"table","len":42,"c":true},{"a":42192,"n":"exits_north","k":"table","len":42,"c":true},{"a":42234,"n":"exits_south","k":"table","len":42,"c":true},{"a":42276,"n":"exits_east","k":"table","len":42,"c":true},{"a":42318,"n":"exits_west","k":"table","len":42,"c":true},{"a":42360,"n":"exits_up","k":"table","len":42,"c":true},{"a":42402,"n":"exits_down","k":"table","len":42,"c":true},{"a":42444,"n":"message_table","k":"table","len":200,"c":true},{"a":42644,"n":"message_table_unused","k":"table","len":28,"c":true}],"records":[{"a":0,"l":"cpu_port_ddr","c":"The processor port's direction register: the cold start writes $2F ($657B)","t":"byte","b":[0],"x":[25981,29571,29604,29807,29811,29850]},{"a":1,"l":"cpu_port","c":"The processor port: the cold start writes $36, BASIC switched out and the KERNAL and I/O in. The register library's LDA and STA $01,X ($7380, $73A7, $7475, $7479, $749E) are the high byte of the register pair at zero page X, not this port","t":"byte","b":[0,0,170,177,145,179,34,34],"x":[25990,29568,29607,29813,29817,29854]},{"a":9,"t":"byte","b":[0,0,76,0,0,0,4,0]},{"a":17,"t":"byte","b":[0,2,0,40,0,25,22,0]},{"a":25,"t":"byte","b":[8,131,8,0,0,0,0,0]},{"a":33,"t":"byte","b":[0,64,8,105,0,126,0,0]},{"a":41,"t":"byte","b":[0,0,1,8,255,127,179,8]},{"a":49,"t":"byte","b":[179,8,0,160,0,160,0,160]},{"a":57,"l":"inline_lo","c":"The word that follows an inline-argument call, fetched here by $7346 (low byte); push_pair and pull_pair ($736E, $7391) also keep their return address here, and LD HL,(nn) and CP HL,(nn) read through it","t":"byte","b":[216],"x":[29499,29504,29525,29556,29561,29582,29591,29596,29617,29880,29905,29921,29940,29945,29978,29983,29997]},{"a":58,"l":"inline_hi","c":"The inline word's high byte","t":"byte","b":[103],"x":[29530,29559,29565,29594,29600,29925,30001]},{"a":59,"l":"scratch_lo","c":"Scratch, low byte: $7346 points it at the caller's return address on the stack; the comparison ($74B5) keeps the word it compares HL with, then the low byte of the difference; push_pair and pull_pair keep A in it","t":"byte","b":[157],"x":[29514,29523,29528,29550,29579,29585,29614,29885,29887,29896,29923,29942]},{"a":60,"l":"scratch_hi","c":"Scratch, high byte: the return address's high byte for $7346, the compared word's high byte for $74B5, the flags for push_pair and pull_pair","t":"byte","b":[176],"x":[29519,29553,29576,29588,29611,29891,29927,29947]},{"a":61,"l":"save_all_a","c":"save_all ($7403) keeps A here while it takes its return address off the stack; restore_all ($7430) keeps its return address here and in $3E","t":"byte","b":[19],"x":[29700,29714,29745,29768,29774]},{"a":62,"l":"save_all_p","c":"save_all keeps the flags here; restore_all, its return address's high byte","t":"byte","b":[125],"x":[29703,29711,29748,29772]},{"a":63,"l":"save_all_ret_lo","c":"save_all's return address, low byte, moved on by one and jumped through after everything is pushed","t":"byte","b":[246],"x":[29706,29735,29741]},{"a":64,"l":"save_all_ret_hi","c":"save_all's return address, high byte","t":"byte","b":[124],"x":[29709,29739]},{"a":65,"l":"kept_x","c":"X kept by the register library while it pushes or pulls a register pair: X names the pair's zero-page address in the call and is put back from here","t":"byte","b":[0,8,0,0,65],"x":[29574,29609,29621,29627,29635,29642,29649,29656,29663,29670,29677,29684]},{"a":70,"l":"param_slot","c":"Which of the action's five condition slots the next parameter is looked for from ($6418): 0 when the action's commands start ($5CAF)","t":"byte","b":[2],"x":[23727,25638,25641,25644]},{"a":71,"l":"param_slot_hi","c":"Cleared with $46 when an action's commands start; nothing reads it","t":"byte","b":[0],"x":[23729]},{"a":72,"l":"quotient_lo","c":"The division's quotient, low byte ($59AB, HL / DE, 16 steps of shift and subtract); act_put_with ($5977) also uses it to keep the first item's place","t":"byte","b":[45],"x":[22939,22944,22965,22973,23009,23034]},{"a":73,"l":"quotient_hi","c":"The quotient's high byte","t":"byte","b":[0],"x":[22967,22975,23013,23038]},{"a":74,"l":"remainder_lo","c":"The division's remainder, low byte, returned in DE","t":"byte","b":[2],"x":[22969,22981,22991,23020,23042]},{"a":75,"l":"remainder_hi","c":"The remainder's high byte","t":"byte","b":[0],"x":[22971,22983,22997,23026,23046]},{"a":76,"l":"line_count","c":"Lines printed since the last page pause: PUT counts them and pauses the page after six ($66BE); cleared by CLS and by the line read","t":"byte","b":[0,0],"x":[26302,26311,26321,26349,26375,26386,26424,26489,26500,26933]},{"a":78,"l":"reg_hl","c":"HL, the register pair the whole program is written around: low byte here, high byte at $4F. A Z80-style port keeps its registers in zero page: HL $4E, DE $50, BC $52, IX $54, IY $56","t":"byte","b":[62],"x":[21860,21911,21970,21984,21990,22003,22018,22030,22067,22080,22099,22113,22143,22171,22240,22246,22249,22255,22276,22294,22332,22343,22366,22409,22431,22613,22620,22667,22695,22885,22906,22937,22942,22989,22993,23001,23018,23036,23412,23424,23543,23571,23576,23615,23619,23624,23634,23639,23658,23748,23765,23801,23805,23810,23839,23843,23848,23858,23863,24035,24039,24044,24069,24417,24457,24482,24487,24502,24915,24951,24959,24972,24988,25009,25051,25058,25080,25270,25274,25279,25282,25288,25336,25371,25376,25502,25517,25646,25651,25678,25683,25741,26197,26215,26257,26560,26678,26765,26935,26991,27022,27056,27271,27740,27743,28033,28284,28314,28351,28360,28379,28442,29497,29778,29848,29883,29957,29959,29980,29999,30060,30247,31175,31179,31397,31520,31522,31531,31536,31541,31545,32111,32135]},{"a":79,"l":"reg_hl_hi","c":"HL's high byte","t":"byte","b":[30],"x":[22022,22148,22176,22281,22302,22672,22697,22995,22999,23005,23024,23040,23548,23621,23753,23807,23845,24041,24461,25276,25507,25745,28365,28444,29502,29782,29852,29889,29963,29965,29985,30003,31183,31401,31526,31549,32113]},{"a":80,"l":"reg_de","c":"DE, low byte; also the pointer the picture decoder writes the bitmap through","t":"byte","b":[200],"x":[22065,22070,22428,22433,22615,22630,22977,23044,23578,24101,24113,24124,24160,24177,24182,24203,24986,25001,25022,25056,25085,25092,25109,25187,25373,25382,25388,25455,25538,25648,25680,25697,26587,26937,27024,27031,27054,28436,29797,31177,31185,31556,31561,31759,31771,31773,31804,31806,31828,31830]},{"a":81,"l":"reg_de_hi","c":"DE's high byte","t":"byte","b":[2],"x":[22622,22979,23048,23573,25378,25653,25685,25695,26589,29801,31189,31755,31777,31779,31785,31787,31810,31812,31818,31820,31834]},{"a":82,"l":"reg_bc","c":"BC, low byte: the usual loop count; the decoder's pair of bitmap bytes","t":"byte","b":[71],"x":[21902,21917,21941,22584,22643,22665,22699,23782,23826,24005,24058,24079,24126,24484,24911,24921,24933,25500,25505,27254,28145,28293,28440,29787,29954,30220,30222,30228,30255,31191,31196,31204,31533,31554]},{"a":83,"l":"reg_bc_hi","c":"BC's high byte","t":"byte","b":[0],"x":[23786,23830,24052,24081,24130,24489,26948,27258,29791,29961,30226,31198,31202,31538,31559]},{"a":84,"l":"reg_ix","c":"IX, low byte: the action number in the interpreter; the fill pointer in the picture code","t":"byte","b":[71],"x":[23338,23342,30734,30752,30754,31678,31697,31699,31724,31729,31738,31976,32022]},{"a":85,"l":"reg_ix_hi","c":"IX's high byte","t":"byte","b":[0],"x":[23340,23346,30738,30758,31674,31703,31734,31964,31995,32008]},{"a":86,"l":"reg_iy","c":"IY, low byte: walks the database's column addresses in the interpreter; the fill count in the picture code","t":"byte","b":[62],"x":[22639,23531,23541,23546,23746,23751,29691,30811,30874,30878,30885,30901,31682,31705,31746,31972,32030]},{"a":87,"l":"reg_iy_hi","c":"IY's high byte","t":"byte","b":[128],"x":[23535,29695,30745,30760,31686,31709,31742,31968,32026]},{"a":88,"l":"num_length","c":"PUTNUM's buffer: the length byte, 6, so the number prints as a counted string","t":"byte","b":[6],"x":[28453]},{"a":89,"l":"num_sign","c":"PUTNUM's sign, '-' or 0, followed by the five digits at $5A-$5E","t":"byte","b":[0,0,0,49,50,55],"x":[28391]},{"a":95,"l":"verb","c":"The verb of the line typed, its number in the verb list; 0 for the automatic actions","t":"byte","b":[0,0],"x":[23320,23364,23428,23448,23454,23889,23962,23992,24152,26093,27217,28046,28089]},{"a":97,"l":"noun","c":"The noun of the line typed, its number in the noun list, or 0","t":"byte","b":[129,0],"x":[23326,23482,23977,24439,27225,27282,28042,28097,28141]},{"a":99,"l":"line_not_taken","c":"Set when no action had the verb typed, so the turn ends \"I don't understand you\"","t":"byte","b":[0,0],"x":[23312,23376,23466,23521,24218]},{"a":101,"l":"conds_passed","c":"The AND of the last action's conditions: clear when one failed","t":"byte","b":[0],"x":[23310,23388,23525,23673,23675,23685]},{"a":102,"l":"action_fitted","c":"Set when some action fitted the verb and the noun typed","t":"byte","b":[255],"x":[23306,23527,23973,24264]},{"a":103,"l":"continue_flag","c":"The continue flag, set by command 73: the actions of verb 0 and noun 0 that follow run as part of this one","t":"byte","b":[0],"x":[22118,23304,23436,23452,23882]},{"a":104,"l":"action_noun","c":"The noun byte of the action being read","t":"byte","b":[54],"x":[23426,23440,23471,23480]},{"a":105,"l":"action_verb","c":"The verb byte of the action being read","t":"byte","b":[39],"x":[23414,23432,23444,23456]},{"a":106,"l":"cmd_stub","c":"The command dispatch stub: the interpreter writes a JMP opcode here ($5B14) and each command handler's address into $6B-$6C, then calls $6A","t":"code","b":[76,152,86],"m":"jmp","oa":22168,"x":[23316,23867],"o":"act_set_counter"},{"a":107,"t":"note","l":"cmd_stub_lo","c":"The command stub's target, low byte ($5D34)","note":"inside the item at $006A","x":[23860]},{"a":108,"t":"note","l":"cmd_stub_hi","c":"The command stub's target, high byte ($5D39)","note":"inside the item at $006A","x":[23865]},{"a":109,"l":"cond_stub","c":"The condition dispatch stub: a JMP opcode ($5B16), then each condition handler's address in $6E-$6F ($5C54, $5C59), called for every condition tested","t":"code","b":[76,127,97],"m":"jmp","oa":24959,"x":[23318,23669],"o":"cond_here"},{"a":110,"t":"note","l":"cond_stub_lo","c":"The condition stub's target, low byte","note":"inside the item at $006D","x":[23636]},{"a":111,"t":"note","l":"cond_stub_hi","c":"The condition stub's target, high byte","note":"inside the item at $006D","x":[23641]},{"a":112,"t":"gap","n":676},{"a":263,"t":"note","l":"caller_ret_lo","c":"On the stack, seven bytes above the stack pointer in $7346: the low byte of the return address of the routine that took an inline word, moved on by two past it","note":"outside the tracked image","x":[29511,29532,29538]},{"a":264,"t":"note","l":"caller_ret_hi","c":"The high byte of the return address $7346 moves past the inline word","note":"outside the tracked image","x":[29516,29541,29546]},{"a":788,"l":"irq_vector","c":"The KERNAL's interrupt vector: set_irq ($6B23) keeps the old one at $6B20 and points it at $6AB6; the developer exit ($6844) puts it back","t":"byte","b":[182],"x":[26714,27438,27457]},{"a":789,"l":"irq_vector_hi","c":"The interrupt vector's high byte","t":"byte","b":[106,102,254,71,254,74,243,145],"x":[26720,27444,27452]},{"a":797,"t":"byte","b":[242,14,242,80,242,51,243,87]},{"a":805,"t":"byte","b":[241]},{"a":806,"l":"output_vector","c":"The KERNAL's character output vector, which only the unused hook at $7D21 would change","t":"byte","b":[202],"x":[32033,32052,32059]},{"a":807,"l":"output_vector_hi","c":"The output vector's high byte","t":"byte","b":[241,237,246,62,241,47,243,102],"x":[32039,32047,32065]},{"a":815,"t":"byte","b":[254,165,244,237,245,0,0,0]},{"a":823,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":831,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":839,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":847,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":855,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":863,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":871,"t":"gap","n":6297},{"a":1024,"t":"note","l":"screen","c":"The screen's first byte. Above the split it holds the picture's colours, and colour_row_20 ($7CF3) copies this one into row 20 before the text scrolls","note":"outside the tracked image","x":[32010]},{"a":2048,"t":"note","l":"picture_buffer","c":"The picture buffer: each room picture and piece is loaded here from the disk ($7777); the decoder ($7A9A) takes two zero bytes at the start as no picture","note":"outside the tracked image","x":[30625,30949,31129,31143,31386]},{"a":2049,"t":"note","l":"picture_buffer_1","c":"The buffer's second byte: zero with the first means the load found no picture","note":"outside the tracked image","x":[30628,30952,31389]},{"a":7168,"l":"counter","c":"The counter, a word, which commands 77-83 change and conditions 15, 16 and 19 test","t":"byte","b":[0],"x":[22138,22145,22157,22173,22236,22242,22271,22278,22291,22296,24996,25017,25104]},{"a":7169,"l":"counter_hi","c":"The counter's high byte","t":"byte","b":[0],"x":[22150,22178,22252,22258,22283,22299,22304]},{"a":7170,"l":"flags","c":"The 32 flags, a byte each ($FF set, 0 clear): commands 58 and 60 set and clear flag n at $1C02 + n, conditions 8 and 9 test them","t":"byte","b":[0,0,255,0,0,0,0,0],"x":[22336,22370,25087,25094,26987]},{"a":7178,"t":"byte","b":[0,0,0,0,0,0,0]},{"a":7185,"l":"flag_dark","c":"Flag 15: it is dark. Commands 56 and 57 set and clear it; in the dark the room is not described or drawn without the light","t":"byte","b":[0],"x":[22121,22128,22197,22204,24405,24532,25114,25124,25140,25324,30048]},{"a":7186,"l":"flag_light_out","c":"Flag 16: the light has run out ($6C7E); command 69 clears it","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[22889,27774]},{"a":7194,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":7202,"l":"room","c":"The room the player is in, a word","t":"byte","b":[1],"x":[21862,21866,21876,21972,21998,22032,22040,22072,22082,22101,22182,22188,22349,22356,22385,22435,22444,22928,22946,23663,24174,24192,24423,24494,24499,24538,24550,25118,25129,25136,25342,25363,25367,25452,25509,25513,26047,26053,26060,26955,27277,27286,27293,27300,30066,30121,30199,30208,30242,30282,31223]},{"a":7203,"l":"room_hi","c":"The room's high byte, written only by the new game ($6951)","t":"byte","b":[0],"x":[26961]},{"a":7204,"l":"saved_rooms","c":"The saved rooms, a byte each: command 80 swaps the room with the first, command 87 with room n here","t":"byte","b":[16,255,0,0,0,0],"x":[22185,22191,22345,22352]},{"a":7210,"l":"saved_counters","c":"The saved counters, a word each: command 81 swaps the counter with saved counter n ($1C2A + 2 x n)","t":"byte","b":[255,255,0,0,0,0,0,0],"x":[22229]},{"a":7218,"t":"byte","b":[7,0,255,255,0,0,0,0]},{"a":7226,"l":"items_ptr","c":"A pointer to the items' locations, $1C3C: every routine that reads a location reads it through this","t":"byte","b":[60,28],"x":[21907,22598,22879,23646,24135,24413,24906,25175,25332,25442,26896,26921,27263,27736,28341,30056]},{"a":7228,"l":"item_locations","c":"Each item's location, a word: a room, 0 for nowhere, $FF for carried. The new game copies them from $805A","t":"word","b":[0,0,0,0,2,0,2,0],"d":[0,0,2,2],"x":[26891]},{"a":7236,"t":"word","b":[2,0,4,0,3,0,5,0],"d":[2,4,3,5]},{"a":7244,"t":"word","b":[6,0,0,0,7,0,8,0],"d":[6,0,7,8]},{"a":7252,"t":"word","b":[4,0,0,0,0,0,0,0],"d":[4,0,0,0]},{"a":7260,"t":"word","b":[0,0,15,0,15,0,0,0],"d":[0,15,15,0]},{"a":7268,"t":"word","b":[0,0,13,0,7,0,2,0],"d":[0,13,7,2]},{"a":7276,"t":"word","b":[13,0,13,0,0,0,0,0],"d":[13,13,0,0]},{"a":7284,"t":"word","b":[0,0,14,0,5,0,8,0],"d":[0,14,5,8]},{"a":7292,"c":"The locations of items 32 to 54, the rest of the table","t":"word","b":[7,0,2,0,0,0,0,0],"d":[7,2,0,0]},{"a":7300,"t":"word","b":[3,0,0,0,16,0,0,0],"d":[3,0,16,0]},{"a":7308,"t":"word","b":[0,0,12,0,12,0,20,0],"d":[0,12,12,20]},{"a":7316,"t":"word","b":[0,0,12,0,0,0,12,0],"d":[0,12,0,12]},{"a":7324,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":7332,"t":"word","b":[19,0,2,0,0,0],"d":[19,2,0]},{"a":7338,"t":"gap","n":402},{"a":7740,"l":"check_byte","c":"The saved block's last byte, the database's check byte ($8064): a restored game whose byte differs is refused (\"BAD SAVE FILE\")","t":"byte","b":[1],"x":[26901,28622,28645]},{"a":7741,"l":"line_before","c":"The byte before the line buffer: READK's clearing counts down from 25 and so starts its address here ($67B7)","t":"byte","b":[255],"x":[26554]},{"a":7742,"l":"line_buffer","c":"The line typed, up to 14 characters, and the save file's name: the area letter with bit 7, then \".S\" with S shifted, built over the start of the line","t":"byte","b":[0],"x":[22483,25747,25755,26090,26521,26535,26568,26664,27864,27899,28478,28492,28497,28549]},{"a":7743,"l":"save_name_dot","c":"The save file name's second character, '.'","t":"byte","b":[0],"x":[28509,28604]},{"a":7744,"l":"save_name_s","c":"The save file name's third, $D3, a shifted S","t":"byte","b":[0],"x":[28514,28609]},{"a":7745,"l":"save_name_star","c":"'*' after the name when a game is restored, so the load takes the file whatever follows","t":"byte","b":[0],"x":[25761,28614]},{"a":7746,"l":"save_name_end","c":"The zero that ends the name when a game is restored","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[28619]},{"a":7754,"t":"byte","b":[0,0]},{"a":7756,"l":"line_limit","c":"The 14th character's place in the line buffer: typing reaches it and the line ends by itself ($689B)","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[26782]},{"a":7764,"t":"byte","b":[0,0,0,0,0,0,255,255]},{"a":7772,"t":"byte","b":[255,255,0,0,0,0,255,255]},{"a":7780,"t":"byte","b":[255,255,0,0,0,0,255,255]},{"a":7788,"t":"byte","b":[255,255,0,0]},{"a":7792,"l":"typed_word","c":"The word buffer: the word being looked up, as typed, until find_word matches it and writes the entry's four letters over its first four (for a synonym, its main word's); the noun that commands 84 and 85 print","t":"byte","b":[0],"x":[22311,22320,24096,27014,27912,28070,28094,28122,28279]},{"a":7793,"l":"typed_word_1","c":"The word's second letter: zero for a one-letter command ($6D03); L and I write \"OOK\" and \"NVE\" after their letter here","t":"byte","b":[0],"x":[27907,27978,27997]},{"a":7794,"l":"typed_word_2","c":"The word's third letter","t":"byte","b":[255],"x":[27981,28002]},{"a":7795,"l":"typed_word_3","c":"The word's fourth letter","t":"byte","b":[255,255,255,0,0,0,0,255],"x":[27986,28007]},{"a":7803,"t":"byte","b":[255,255,255,0,0,0,0,255]},{"a":7811,"t":"byte","b":[255,255,255,0,0,0]},{"a":7817,"l":"word_index","c":"The number of the entry find_word has reached in the word list, and when it returns the matched word's number (a synonym's main word), which $6DB6 and $6DEA copy into the verb and the noun. PUTNUM keeps the low byte of the number it prints here ($6ECA), and GETIA keeps X here ($6EA3)","t":"byte","b":[0],"x":[27008,27046,27071,28086,28138,28323,28353,28362,28396,28399,28421]},{"a":7818,"l":"word_count","c":"find_word's count of the entries still to compare ($6978), and PUTNUM's high byte of the number it prints, whose top bit is its sign ($6ECF)","t":"byte","b":[0,255,255,255,0,0,0,0],"x":[27000,27074,28367,28384,28404,28407]},{"a":7826,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":7834,"t":"byte","b":[255,255,255,255,0]},{"a":7839,"l":"light_turns","c":"Turns of light left, a word: counted down each turn while the light (item 9) is anywhere but room 0 ($6C55)","t":"byte","b":[150],"x":[22867,26967,27750,27758,27765,27801]},{"a":7840,"l":"light_turns_hi","c":"The light's turns, high byte","t":"byte","b":[0],"x":[22873,26973,27760]},{"a":7841,"l":"get_drop_why","c":"Why the last item tried by GET or DROP was refused: 1 not carried, 2 not here, 4 carried already","t":"byte","b":[0],"x":[24017,24168,24221,24402,24428,24506]},{"a":7842,"l":"temp_count","c":"Scratch: the number of things carried in count_carried, the line length in PUT","t":"byte","b":[36,255],"x":[25169,25193,25214,26351,26357]},{"a":7844,"l":"temp_x","c":"Scratch for X in the page pause ($6766)","t":"byte","b":[17,255,0,0],"x":[26470,26476,26485]},{"a":7848,"l":"out_line","c":"The output line: PUT gathers characters here and prints them a line at a time, breaking at the last space before 39 ($657A)","t":"byte","b":[144,87,104,97,116,32,115,104],"x":[26323,26342,26363,26366,26430,26447,26479]},{"a":7856,"t":"byte","b":[97,108,108,32,73,32,100,111]},{"a":7864,"t":"byte","b":[63,32,30,31,66,97,110,110]},{"a":7872,"t":"byte","b":[101,114,44,32,116,105,101,100]},{"a":7880,"t":"byte","b":[32,104,97,110,100,32,38,32]},{"a":7888,"t":"byte","b":[0,0,255,255,255,255,0,0]},{"a":7896,"t":"byte","b":[0,0,255,255,255,255,0,0]},{"a":7904,"t":"byte","b":[0,0,255,255,255,255,0,0]},{"a":7912,"t":"gap","n":36},{"a":7948,"l":"saver_a","c":"SAVER and GETER's scratch: A","t":"byte","b":[157],"x":[26814,26843,26855]},{"a":7949,"l":"saver_p","c":"SAVER's scratch: the flags","t":"byte","b":[176],"x":[26819,26839,26851]},{"a":7950,"l":"saver_ret_lo","c":"The return address SAVER and GETER take off the stack and jump through, low byte","t":"byte","b":[38],"x":[26823,26830,26859,26863,26870,26885]},{"a":7951,"l":"saver_ret_hi","c":"The high byte of the return address SAVER and GETER jump through","t":"byte","b":[117,0,0,255,255],"x":[26827,26835,26867,26875]},{"a":7956,"l":"tester_mode","c":"The tester's switch, set by a one-letter command: X 0 (off), P 1 (print each action whose words fit, and each that runs) and T 2 (print only each action that runs)","t":"byte","b":[0],"x":[23490,23698,26981,27921]},{"a":7957,"l":"putz_flag","c":"Set to 1 by PUTZ ($6684); nothing reads it","t":"byte","b":[1,0],"x":[26249]},{"a":7959,"l":"random_total","c":"The running total the 1-100 chance is made from ($5F39): moved on while the game waits for a key and with each key","t":"byte","b":[58],"x":[24377,24384,26615,26770]},{"a":7960,"l":"typed_count","c":"Counts each character typed; nothing reads it","t":"byte","b":[1,0,255,255,255,255,0],"x":[26773]},{"a":7967,"l":"v_count","c":"Moved on by the command V; nothing reads it","t":"byte","b":[0],"x":[28022]},{"a":7968,"l":"picture_owed_count","c":"Non-zero when the room's picture must be drawn again: every command that moves the player or changes what is here adds one","t":"byte","b":[0],"x":[21879,21977,22005,22037,22077,22087,22106,22131,22359,22388,22440,22449,22820,22933,22951,24210,24541,24556,26063,26123,26126,27303,30132,30195,30260]},{"a":7969,"l":"piece_item","c":"The item whose piece is being drawn, or the last one dropped","t":"byte","b":[0],"x":[21992,22411,22908,30249,30273]},{"a":7970,"l":"picture_flag","c":"$FF when the picture is on, 0 when Z has turned it off: the raster split, the page pause and every drawing routine look here","t":"byte","b":[255],"x":[22460,22488,22493,22834,25717,26044,26379,27241,27328,27945,30073,30080,30093,30100,30110,30185]},{"a":7971,"l":"owed_copy","c":"The inventory ORs the picture-owed count into it ($592C); nothing reads it","t":"byte","b":[255],"x":[22828,22831]},{"a":7972,"l":"dark_note","c":"Set when the dark has been reported, so the \"too dark\" text is printed once","t":"byte","b":[0],"x":[26098,26115,26120,26978]},{"a":7973,"l":"page_lines","c":"Lines since the page began: the sixth brings the pause ($6716)","t":"byte","b":[1],"x":[26390,26393,26405,26545,26807,27888]},{"a":7974,"l":"picture_height","c":"The picture's last row, from its header: the decoder starts a new column after it, and the scroll keeps below it","t":"byte","b":[158],"x":[30301,30309,31131,31156,31430,31572]},{"a":7975,"l":"picture_background","c":"The picture's background colour, from its header: the raster interrupt puts it back for the bitmap half","t":"byte","b":[0],"x":[27359,31466,31666]},{"a":7976,"l":"demo_mode","c":"$FF while the demonstration plays, and READK takes its keys from the script ($7D64)","t":"byte","b":[0],"x":[25985,26618,26629,27107,28558]},{"a":7977,"l":"demo_pos","c":"The demonstration's place in its script, a word ($7DAD + this)","t":"byte","b":[0],"x":[28563,32120,32140,32164]},{"a":7978,"l":"demo_pos_hi","c":"The script position's high byte","t":"byte","b":[255,255,255,255,0,0,0,0],"x":[28566,32145,32167]},{"a":7986,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":7994,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":8002,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":8010,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":8018,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":8026,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":8034,"t":"byte","b":[255,255,255,255,0,0,0,0]},{"a":8042,"t":"gap","n":13462},{"a":16384,"t":"note","l":"picture_cache","c":"The cache of the last room picture, a copy of the buffer at $0800 ($7984), so a room drawn again needs no disk","note":"outside the tracked image","x":[31121,31151]},{"a":21504,"l":"entry_table","c":"The program's table of entry points, one JMP to a slot, and the loader's way in: it jumps to $5400. Code in one module reaches a routine in another through this table, and most slots lead on to a second table at the head of the module that holds the routine ($5500, $5B00, $6100, $6540, $6C40, $72E0, $7540, $7D60). The names in capitals are the original programmer's: pieces of the assembler's source and symbol table left in the program's gaps ($5A11, $64E7) name these slots in this order","t":"code","b":[76,64,101],"m":"jmp","oa":25920,"o":"c64_module"},{"a":21507,"l":"run_actions_slot","c":"Scan the action table for the verb and noun in $5F and $61 (verb 0: the automatic actions); to $5B06","t":"code","b":[76,0,91],"m":"jmp","oa":23296,"x":[26082,26095],"o":"interp_module"},{"a":21510,"l":"end_action_slot","c":"Finish the current action as if its commands had all run: go on to the next action or stop; to $5D4A","t":"code","b":[76,3,91],"m":"jmp","oa":23299,"x":[21950],"o":"end_action_jmp"},{"a":21513,"l":"save_game_slot","c":"Save the game to one of the disk's four areas; to $646F","t":"code","b":[76,9,97],"m":"jmp","oa":24841,"x":[22009],"o":"save_game_jmp"},{"a":21516,"l":"cond_table_slot","c":"Never called: its operand leads to the JMP at $610C, whose operand is the address of the condition table, $6118. The action interpreter reads the table's address this way ($5C39)","t":"code","b":[76,12,97],"m":"jmp","oa":24844,"o":"cond_table_jmp"},{"a":21517,"t":"note","l":"cond_table_ptr","c":"The operand of the slot at $540C, $610C: the interpreter reads this word ($5C3C) and follows it to the condition table's address","note":"inside the item at $540C","x":[23612]},{"a":21519,"l":"inventory_slot","c":"List what the player carries and draw the carried items; to $6238","t":"code","b":[76,3,97],"m":"jmp","oa":24835,"x":[22824],"o":"inventory_jmp"},{"a":21522,"l":"print_item_slot","c":"Print an item's name, the text before its '/'; to $62AE","t":"code","b":[76,21,97],"m":"jmp","oa":24853,"x":[25196,25459],"o":"print_item_jmp"},{"a":21525,"l":"look_slot","c":"Describe the current room, its items and exits; to $62E6","t":"code","b":[76,0,97],"m":"jmp","oa":24832,"x":[22207,22469,22517,22892,24544,24553],"o":"cond_module"},{"a":21528,"l":"next_param_slot","c":"Fetch the current action's next parameter into HL; to $6418","t":"code","b":[76,6,97],"m":"jmp","oa":24838,"x":[21857,21962,21987,22027,22044,22053,22091,22168,22214,22262,22287,22329,22340,22363,22406,22420,22903,22917],"o":"next_param_jmp"},{"a":21531,"l":"save_area_slot","c":"Ask which save area (A-D) and set up the file's name; to $6F33","t":"code","b":[76,64,108],"m":"jmp","oa":27712,"x":[25736,25938,28599],"o":"input_module"},{"a":21534,"l":"too_much_slot","c":"Print \"Got too much.\"; to $55C1","t":"code","b":[76,12,85],"m":"jmp","oa":21772,"x":[21947,24009],"o":"too_much_jmp"},{"a":21537,"l":"divide_slot","c":"Divide DE by HL: quotient in HL, remainder in DE; to $59AB","t":"code","b":[76,9,85],"m":"jmp","oa":21769,"x":[22728,23585,25692,28433],"o":"divide_jmp"},{"a":21540,"l":"colour_green_slot","c":"Print character $1E, which turns the text green; to $663D","t":"code","b":[76,106,101],"m":"jmp","oa":25962,"x":[25321,25477],"o":"green_jmp"},{"a":21543,"l":"colour_blue_slot","c":"Print character $1F, which turns the text blue; to $6643","t":"code","b":[76,109,101],"m":"jmp","oa":25965,"x":[25227,25553,26069],"o":"blue_jmp"},{"a":21546,"l":"action_table_slot","c":"Never called: its operand leads to the JMP at $5503, whose operand is the address of the action-handler table, $550F. The action interpreter reads the table's address this way ($5D18)","t":"code","b":[76,3,85],"m":"jmp","oa":21763,"o":"handler_table_jmp"},{"a":21547,"t":"note","l":"handler_table_ptr","c":"The operand of the slot at $542A, $5503: the interpreter reads this word ($5D1B) and follows it to the action-handler table's address","note":"inside the item at $542A","x":[23835]},{"a":21549,"l":"RESTRT","c":"RESTRT: start the game again from the title picture, resetting the stack; to $659C","t":"code","b":[76,103,101],"m":"jmp","oa":25959,"x":[22514,28571],"o":"restrt_jmp"},{"a":21552,"l":"PUT","c":"PUT: print the character in A through the word-wrapping line buffer; to $66A5","t":"code","b":[76,67,101],"m":"jmp","oa":25923,"x":[22164,23516,23722,23817,25152,25232,25294,25303,25308,25420,25425,25430,26175,26230,26261,27872],"o":"put_jmp"},{"a":21555,"l":"PUTCR","c":"PUTCR: end the line in the buffer and print it; to $669E","t":"code","b":[76,70,101],"m":"jmp","oa":25926,"x":[21869,22325,22734,25147,25791,26131,26548,26747,27867,28632,28959,28962],"o":"putcr_jmp"},{"a":21558,"l":"PUTZ","c":"PUTZ: print the text at HL up to its zero byte; to $6684","t":"code","b":[76,79,101],"m":"jmp","oa":25935,"x":[21887,21958,22313,22322,22379,22477,22662,22682,22690,22751,22844,23380,23392,23502,23708,23986,24213,24233,24245,24257,24273,24436,24451,24516,24527,24564,25160,25224,25352,25405,25527,25785,27311,27546,27559,27782,27795,27811,27880,28064,28072,28080,28116,28124,28132,28160,28472,28543,28658,28926,28940,28948,28970,30944],"o":"putz_jmp"},{"a":21561,"l":"READK","c":"READK: read a typed line into $1E3E, echoing it; to $679E","t":"code","b":[76,85,101],"m":"jmp","oa":25941,"x":[27883],"o":"readk_jmp"},{"a":21564,"l":"CLS","c":"CLS: clear the screen and put the cursor on the bottom line; to $68A5","t":"code","b":[76,88,101],"m":"jmp","oa":25944,"x":[22899,25714,26036,27534,27942,28932,30103],"o":"cls_jmp"},{"a":21567,"l":"PUTSA","c":"PUTSA: print A characters from HL; to $6647","t":"code","b":[76,76,101],"m":"jmp","oa":25932,"x":[25415],"o":"putsa_jmp"},{"a":21570,"l":"PUTS","c":"PUTS: print the text at HL whose first byte is its length; to $6650","t":"code","b":[76,73,101],"m":"jmp","oa":25929,"x":[23812,28460],"o":"puts_jmp"},{"a":21573,"l":"GETIA","c":"GETIA: point HL at item HL's location byte and load it into A; to $6EA3","t":"code","b":[76,70,108],"m":"jmp","oa":27718,"x":[21965,21995,22047,22056,22094,22414,22911,22920,30236],"o":"getia_jmp"},{"a":21576,"l":"PUTNUM","c":"PUTNUM: print HL as a signed decimal number; to $6EC5","t":"code","b":[76,67,108],"m":"jmp","oa":27715,"x":[22159,22674,22731,23511,23717,27803,28956],"o":"putnum_jmp"},{"a":21579,"l":"DECHL","c":"DECHL: HL = HL - 1; to $7488","t":"code","b":[76,4,115],"m":"jmp","oa":29444,"x":[22140,23354,26668,27016,27752,32108],"o":"dechl_jmp"},{"a":21582,"l":"INCHL","c":"INCHL: HL = HL + 1; to $7451","t":"code","b":[76,251,114],"m":"jmp","oa":29435,"x":[21919,21922,22617,22624,24046,24073,24924,24927,25205,25208,25285,25462,25465,26202,26217,26264,26776,26939,28316,30230],"o":"inchl_jmp"},{"a":21585,"l":"SETHLI","c":"SETHLI: load HL with the word that follows the call, and return past it; to $7527","t":"code","b":[76,28,115],"m":"jmp","oa":29468,"x":[21882,21953,22013,22226,22308,22317,22374,22453,22472,22657,22677,22685,22703,22746,22839,23371,23383,23497,23580,23660,23703,23731,23981,24205,24228,24240,24252,24268,24431,24446,24472,24511,24522,24559,25155,25219,25347,25400,25482,25490,25633,25687,25780,26551,26565,26573,26888,26984,27011,27306,27541,27554,27777,27790,27806,27875,27896,28026,28059,28067,28075,28111,28119,28127,28155,28276,28370,28410,28428,28455,28467,28538,28653,28921,28935,28943,28965,30212,30939,31118,31126,31140,31148,31162,32103,32125],"o":"sethli_jmp"},{"a":21588,"l":"SAVER","c":"SAVER: push A, X, Y and the flags beneath the caller's return address; to $68BE","t":"code","b":[76,97,101],"m":"jmp","oa":25953,"x":[21894,22955,25262,25624,26183,26192,26244,26270,26277,26510,26526,26789,29489,29717,29915,29932,29970,29991],"o":"saver_jmp"},{"a":21591,"l":"GETER","c":"GETER: pull what SAVER pushed and return to where the caller would have; to $68EE","t":"code","b":[76,100,101],"m":"jmp","oa":25956,"x":[21928,23053,25314,25707,26240,26307,26761,26810,29506,29765,29877,29987],"o":"geter_jmp"},{"a":21594,"l":"PUSHL","c":"PUSHL: push HL; to $73C2","t":"code","b":[76,227,114],"m":"jmp","oa":29411,"x":[22050,22417,22600,22914,22985,23550,23588,23736,24121,25265,26186,26199,26252,26513,26529,26570,29720,30233,31159],"o":"pushl_jmp"},{"a":21597,"l":"PULLHL","c":"PULLHL: pull HL; to $73C9","t":"code","b":[76,230,114],"m":"jmp","oa":29414,"x":[22923,23028,23351,23508,23556,23597,23714,24146,25311,25411,25524,25658,26237,26581,26758,29762,30239,31170],"o":"pullhl_jmp"},{"a":21600,"l":"DECBC","c":"DECBC: BC = BC - 1; to $7480","t":"code","b":[76,7,115],"m":"jmp","oa":29447,"x":[24049,24076,26945],"o":"decbc_jmp"},{"a":21603,"l":"inc_bc_slot","c":"BC = BC + 1; to $745A","t":"code","b":[76,254,114],"m":"jmp","oa":29438,"x":[25530,25533,28295],"o":"inc_bc_jmp"},{"a":21606,"l":"dec_de_slot","c":"DE = DE - 1; to $7490","t":"code","b":[76,10,115],"m":"jmp","oa":29450,"x":[26584,27040],"o":"dec_de_jmp"},{"a":21609,"l":"inc_de_slot","c":"DE = DE + 1; to $7464","t":"code","b":[76,1,115],"m":"jmp","oa":29441,"x":[22627,24091,25199,25202,25385,25395,25468,25471,25542,25547,26942,27065],"o":"inc_de_jmp"},{"a":21612,"l":"push_bc_slot","c":"Push BC; to $73B4","t":"code","b":[76,233,114],"m":"jmp","oa":29417,"x":[22960,24118,25630,28326,29723],"o":"push_bc_jmp"},{"a":21615,"l":"pull_bc_slot","c":"Pull BC; to $73BB","t":"code","b":[76,236,114],"m":"jmp","oa":29420,"x":[23050,23399,23565,23631,23758,24149,25037,25066,25670,25701,28346,29759],"o":"pull_bc_jmp"},{"a":21618,"l":"push_de_slot","c":"Push DE; to $73D0","t":"code","b":[76,239,114],"m":"jmp","oa":29423,"x":[23591,25034,25063,25408,25521,25627,25667,26516,26532,28269,29726],"o":"push_de_jmp"},{"a":21621,"l":"pull_de_slot","c":"Pull DE; to $73D7","t":"code","b":[76,242,114],"m":"jmp","oa":29426,"x":[22059,22423,25704,26755,28300,29756],"o":"pull_de_jmp"},{"a":21624,"l":"cmp_hl_mem_slot","c":"Compare HL with the word stored at the address that follows the call; to $74EC","t":"code","b":[76,19,115],"m":"jmp","oa":29459,"x":[23357,24998,25019,25106],"o":"cmp_mem_jmp"},{"a":21627,"l":"cmp_hl_imm_slot","c":"Compare HL with the word that follows the call; to $74DB","t":"code","b":[76,22,115],"m":"jmp","oa":29462,"x":[26661,26779],"o":"cmp_imm_jmp"},{"a":21630,"l":"de_from_hl_slot","c":"DE = HL; to $74AD","t":"code","b":[76,13,115],"m":"jmp","oa":29453,"x":[22720,23594,24088,24143,25177,25444,25487,26578,26923,27003,28281,28425,31123,31145],"o":"de_hl_jmp"},{"a":21633,"l":"bc_from_hl_slot","c":"BC = HL; to $74A5","t":"code","b":[76,16,115],"m":"jmp","oa":29456,"x":[22217,22223,22265,22708,23559,23600,23606,24025,24463,24469,25495,25661,26909,26915,27901,28329,28335,28415,31167,32122],"o":"bc_hl_jmp"},{"a":21636,"l":"add_hl_bc_slot","c":"HL = HL + BC; to $7500","t":"code","b":[76,25,115],"m":"jmp","oa":29465,"x":[22220,22231,22273,22714,23407,23421,23562,23568,23603,23628,23648,23651,23761,23793,23796,23850,23853,24137,24140,24466,24477,24496,25045,25048,25074,25077,25664,25673,26912,27265,27268,28332,28343,32130],"o":"add_jmp"},{"a":21639,"l":"save_all_slot","c":"Push every register, the pairs too, under the return address; to $7403","t":"code","b":[76,245,114],"m":"jmp","oa":29429,"x":[25144,25318,25711,28357,30070,30090,30118,30265,31376,31959,31987,32100],"o":"save_all_jmp"},{"a":21642,"l":"restore_all_slot","c":"Pull everything $5487 pushed; to $7430","t":"code","b":[76,248,114],"m":"jmp","oa":29432,"x":[25238,25556,25811,28463,30086,30106,30188,30312,31382,31983,32016,32148],"o":"restore_all_jmp"},{"a":21645,"l":"store_hl_slot","c":"Store HL at the address that follows the call; to $7331","t":"code","b":[76,224,114],"m":"jmp","oa":29408,"x":[26893,27755],"o":"regs_module"},{"a":21648,"l":"load_hl_slot","c":"Load HL from the address that follows the call; to $7512","t":"code","b":[76,31,115],"m":"jmp","oa":29471,"x":[21904,22135,22154,22268,22595,22606,22723,22876,23402,23416,23609,23643,23788,23832,24020,24028,24132,24410,24491,24903,24993,25014,25040,25069,25101,25172,25180,25329,25358,25439,25447,26904,26918,26926,27260,27733,27747,27798,28049,28101,28338,28418,28951,30053,32117],"o":"load_hl_jmp"},{"a":21651,"l":"push_ix_slot","c":"Push IX ($54); to $73E5","t":"code","b":[76,34,115],"m":"jmp","oa":29474,"x":[23348,23396,23505,23553,23711,23755,25655,29729],"o":"push_ix_jmp"},{"a":21654,"l":"pull_ix_slot","c":"Pull IX; to $73DE","t":"code","b":[76,37,115],"m":"jmp","oa":29477,"x":[29753],"o":"pull_ix_jmp"},{"a":21657,"l":"push_iy_slot","c":"Push IY ($56); to $73F3","t":"code","b":[76,40,115],"m":"jmp","oa":29480,"x":[22592,29732],"o":"push_iy_jmp"},{"a":21660,"l":"pull_iy_slot","c":"Pull IY; to $73EC","t":"code","b":[76,43,115],"m":"jmp","oa":29483,"x":[22603,22654,23739,29750],"o":"pull_iy_jmp"},{"a":21663,"l":"inc_iy_slot","c":"IY = IY + 1; to $73FA","t":"code","b":[76,46,115],"m":"jmp","oa":29486,"x":[22645,22648,23679,23682,23870,23873],"o":"inc_iy_jmp"},{"a":21666,"l":"count_carried_slot","c":"Count the items carried into BC; to $5586","t":"code","b":[76,6,85],"m":"jmp","oa":21766,"x":[21932,23998],"o":"count_carried_jmp"},{"a":21669,"l":"draw_room_slot","c":"Draw the current room's picture and the items in it, or note that it is owed; to $759E","t":"code","b":[76,64,117],"m":"jmp","oa":30016,"x":[21872,22210,22466,22850,22895,25132,26056,26134,27296,30083],"o":"picture_module"},{"a":21672,"l":"draw_item_slot","c":"Draw item $1F21's piece over the picture; to $7634","t":"code","b":[76,67,117],"m":"jmp","oa":30019,"x":[30252],"o":"draw_item_jmp"},{"a":21675,"l":"graphics_on_slot","c":"Show the picture again if it was off; to $7576","t":"code","b":[76,70,117],"m":"jmp","oa":30022,"x":[22463,22504,25802,26728,27958,28582],"o":"picture_on_jmp"},{"a":21678,"l":"graphics_off_slot","c":"Turn the picture off and clear the screen for text alone; to $758A","t":"code","b":[76,73,117],"m":"jmp","oa":30025,"x":[22498,25723,25808,26000,26017,26692,27531,27952,28586],"o":"picture_off_jmp"},{"a":21681,"l":"dark_test_slot","c":"Test whether the room is dark and the light is absent (Z clear if so); to $7560","t":"code","b":[76,76,117],"m":"jmp","oa":30028,"x":[26103,26110,27246,30135,30268],"o":"dark_test_jmp"},{"a":21684,"l":"find_word_slot","c":"Look a word up in a word list; to $6975","t":"code","b":[76,112,101],"m":"jmp","oa":25968,"x":[28054,28106],"o":"find_word_jmp"},{"a":21687,"l":"init_state_slot","c":"Set every item, the room, the flags and the light to the database's starting values; to $6908","t":"code","b":[76,115,101],"m":"jmp","oa":25971,"x":[26020,28661],"o":"init_state_jmp"},{"a":21690,"l":"title_slot","c":"Show the trademark and copyright screens; to $70F9","t":"code","b":[76,73,108],"m":"jmp","oa":27721,"x":[26039],"o":"title_jmp"},{"a":21693,"l":"restore_prompt_slot","c":"Ask whether to restore a saved game, start, or run the demo; to $6F7A","t":"code","b":[76,76,108],"m":"jmp","oa":27724,"x":[26066],"o":"restore_jmp"},{"a":21696,"l":"input_slot","c":"Ask \"What shall I do?\" and parse the reply into a verb and a noun; to $6CDB","t":"code","b":[76,79,108],"m":"jmp","oa":27727,"x":[26076],"o":"input_jmp"},{"a":21699,"l":"light_slot","c":"Count the light down and warn as it runs out; to $6C55","t":"code","b":[76,82,108],"m":"jmp","oa":27730,"x":[26085],"o":"light_jmp"},{"a":21702,"l":"clear_bitmap_slot","c":"Clear the bitmap at $2000; to $7CD7","t":"code","b":[76,79,117],"m":"jmp","oa":30031,"x":[27939,30146],"o":"clear_bitmap_jmp"},{"a":21705,"l":"colour_row_slot","c":"Paint screen row 20 in the picture's colours before the text scrolls; to $7CF3","t":"code","b":[76,82,117],"m":"jmp","oa":30034,"x":[26408],"o":"colour_row_jmp"},{"a":21708,"l":"wait_return_slot","c":"Read a line without keeping it: wait for RETURN; to $678E","t":"code","b":[76,118,101],"m":"jmp","oa":25974,"x":[21890,22480,22847,27314,27562,28475,28546,28929,28973],"o":"wait_return_jmp"},{"a":21711,"l":"load_picture_slot","c":"Never called through the table: load a picture or a piece from the disk; to $7777","t":"code","b":[76,85,117],"m":"jmp","oa":30037,"o":"load_picture_jmp"},{"a":21714,"l":"demo_key_slot","c":"The demonstration's next typed character; to $7D64","t":"code","b":[76,96,125],"m":"jmp","oa":32096,"x":[26638],"o":"demo_module"},{"a":21717,"l":"drive_code_slot","c":"Send the fast loader's code to the disk drive and start it; to $7904","t":"code","b":[76,88,117],"m":"jmp","oa":30040,"x":[25794,26003,28635],"o":"drive_code_jmp"},{"a":21720,"l":"drive_send_slot","c":"Send the byte in A to the drive's fast loader; to $78A3","t":"code","b":[76,91,117],"m":"jmp","oa":30043,"x":[25728,28591],"o":"drive_send_jmp"},{"a":21723,"l":"source_comment","c":"A piece of the original assembler's source text left in the gap: the end of a line whose comment reads \"MATCH STRNG WORD TO VOCR?\", then the number of the next line, 2030, the one after DECBC's in the piece at $5A11","t":"byte","b":[52,63,29,88,59,32,77,65]},{"a":21731,"t":"byte","b":[84,67,72,32,83,84,82,78]},{"a":21739,"t":"byte","b":[71,32,87,79,82,68,32,84]},{"a":21747,"t":"byte","b":[79,32,86,79,67,82,63,13]},{"a":21755,"t":"byte","b":[18,8,3,238,7]},{"a":21760,"l":"action_module","c":"The action handlers' own table. Nothing calls $5500 itself (it leads to the division at $59AB, as $5509 does); $5503's operand is the address of the handler table, read through $542A","t":"code","b":[76,171,89],"m":"jmp","oa":22955,"o":"divide"},{"a":21763,"l":"handler_table_jmp","c":"Never run: its operand, $550F, is the address of the action-handler table, which the interpreter reads through the entry at $542A","t":"code","b":[76,15,85],"m":"jmp","oa":21775,"x":[21546],"o":"action_handlers"},{"a":21766,"l":"count_carried_jmp","c":"Count the items carried: to $5586","t":"code","b":[76,134,85],"m":"jmp","oa":21894,"x":[21666],"o":"count_carried"},{"a":21769,"l":"divide_jmp","c":"Divide: to $59AB","t":"code","b":[76,171,89],"m":"jmp","oa":22955,"x":[21537],"o":"divide"},{"a":21772,"l":"too_much_jmp","c":"Print \"Got too much.\": to $55C1","t":"code","b":[76,193,85],"m":"jmp","oa":21953,"x":[21534],"o":"too_much"},{"a":21775,"l":"action_handlers","c":"The handler for each action command, 52 to 90, a word each. A command byte of 52 to 101 in an action is a command; the interpreter subtracts 52 and runs the handler this table names ($5D0F). 102 and above are messages","t":"addr","b":[172,85],"oa":21932,"o":"act_get","x":[21763]},{"a":21777,"t":"addr","b":[227,85],"oa":21987,"o":"act_drop"},{"a":21779,"t":"addr","b":[11,86],"oa":22027,"o":"act_goto"},{"a":21781,"t":"addr","b":[75,86],"oa":22091,"o":"act_destroy"},{"a":21783,"t":"addr","b":[105,86],"oa":22121,"o":"act_set_dark"},{"a":21785,"t":"addr","b":[181,86],"oa":22197,"o":"act_set_light"},{"a":21787,"t":"addr","b":[57,87],"oa":22329,"o":"act_set_flag"},{"a":21789,"t":"addr","b":[75,86],"oa":22091,"o":"act_destroy"},{"a":21791,"t":"addr","b":[91,87],"oa":22363,"o":"act_clear_flag"},{"a":21793,"t":"addr","b":[102,87],"oa":22374,"o":"act_die"},{"a":21795,"t":"addr","b":[134,87],"oa":22406,"o":"act_put"},{"a":21797,"t":"addr","b":[181,87],"oa":22453,"o":"act_game_over"},{"a":21799,"t":"addr","b":[245,87],"oa":22517,"o":"act_look"},{"a":21801,"t":"addr","b":[54,88],"oa":22582,"o":"act_score"},{"a":21803,"t":"addr","b":[36,89],"oa":22820,"o":"act_inventory"},{"a":21805,"t":"addr","b":[70,89],"oa":22854,"o":"act_set_flag_0"},{"a":21807,"t":"addr","b":[75,89],"oa":22859,"o":"act_clear_flag_0"},{"a":21809,"t":"addr","b":[80,89],"oa":22864,"o":"act_refill_light"},{"a":21811,"t":"addr","b":[115,89],"oa":22899,"o":"act_clear_screen"},{"a":21813,"t":"addr","b":[249,85],"oa":22009,"o":"act_save"},{"a":21815,"t":"addr","b":[28,86],"oa":22044,"o":"act_swap_items"},{"a":21817,"t":"addr","b":[100,86],"oa":22116,"o":"act_continue"},{"a":21819,"t":"addr","b":[202,85],"oa":21962,"o":"act_superget"},{"a":21821,"t":"addr","b":[119,89],"oa":22903,"o":"act_put_with"},{"a":21823,"t":"addr","b":[245,87],"oa":22517,"o":"act_look"},{"a":21825,"t":"addr","b":[119,86],"oa":22135,"o":"act_dec_counter"},{"a":21827,"t":"addr","b":[138,86],"oa":22154,"o":"act_print_counter"},{"a":21829,"t":"addr","b":[152,86],"oa":22168,"o":"act_set_counter"},{"a":21831,"t":"addr","b":[166,86],"oa":22182,"o":"act_swap_room"},{"a":21833,"t":"addr","b":[198,86],"oa":22214,"o":"act_select_counter"},{"a":21835,"t":"addr","b":[246,86],"oa":22262,"o":"act_add_counter"},{"a":21837,"t":"addr","b":[15,87],"oa":22287,"o":"act_sub_counter"},{"a":21839,"t":"addr","b":[36,87],"oa":22308,"o":"act_print_noun"},{"a":21841,"t":"addr","b":[45,87],"oa":22317,"o":"act_print_noun_cr"},{"a":21843,"t":"addr","b":[53,87],"oa":22325,"o":"act_newline"},{"a":21845,"t":"addr","b":[68,87],"oa":22340,"o":"act_swap_saved_room"},{"a":21847,"t":"addr","b":[253,85],"oa":22013,"o":"act_delay"},{"a":21849,"t":"addr","b":[93,85],"oa":21853,"o":"act_show_room_80"},{"a":21851,"t":"addr","b":[97,85],"oa":21857,"o":"act_show_room"},{"a":21853,"l":"act_show_room_80","c":"Command 89: show room 80's picture until RETURN, then mark the current room's to be drawn again","t":"code","b":[160,80],"m":"ldy","x":[21849],"o":"#$50"},{"a":21855,"t":"code","b":[208,5],"m":"bne","oa":21862,"o":"b_5566"},{"a":21857,"l":"act_show_room","c":"Command 90: show the picture of the room the parameter names, print \"<HIT RETURN>\", wait for RETURN and mark the current room's picture to be drawn again ($1F20)","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21851],"o":"next_param_slot"},{"a":21860,"t":"code","b":[164,78],"m":"ldy","oa":78,"o":"reg_hl"},{"a":21862,"l":"b_5566","t":"code","b":[173,34,28],"m":"lda","oa":7202,"x":[21855],"o":"room"},{"a":21865,"t":"code","b":[72],"m":"pha"},{"a":21866,"t":"code","b":[140,34,28],"m":"sty","oa":7202,"o":"room"},{"a":21869,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":21872,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":21875,"t":"code","b":[104],"m":"pla"},{"a":21876,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":21879,"t":"code","b":[141,32,31],"m":"sta","oa":7968,"o":"picture_owed_count"},{"a":21882,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":21885,"c":"The text \"<HIT RETURN>\" ($58E5), printed under the room shown","t":"addr","b":[229,88],"oa":22757,"o":"txt_hit_return"},{"a":21887,"c":"Print it, wait for RETURN and return","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":21890,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":21893,"t":"code","b":[96],"m":"rts"},{"a":21894,"l":"count_carried","c":"Count the items whose location is $FF (carried) into BC ($52), from the start of the locations the pointer at $1C3A gives ($1C3C), two bytes apart: X counts down from the last item's number ($806C, 54), so items 0 to 53 are looked at and item 54, which is empty and never carried, is not","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[21766],"o":"SAVER"},{"a":21897,"t":"code","b":[174,108,128],"m":"ldx","oa":32876,"o":"db_last_item"},{"a":21900,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":21902,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":21904,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":21907,"c":"The pointer at $1C3A, which holds the address of item 0's location ($1C3C); the count starts there","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":21909,"c":"Step through the items, two bytes at a time, counting each $FF","t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":21911,"l":"b_5597","t":"code","b":[177,78],"m":"lda","oa":78,"x":[21926],"o":"(reg_hl),y"},{"a":21913,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":21915,"t":"code","b":[208,2],"m":"bne","oa":21919,"o":"b_559F"},{"a":21917,"t":"code","b":[230,82],"m":"inc","oa":82,"o":"reg_bc"},{"a":21919,"l":"b_559F","t":"code","b":[32,78,84],"m":"jsr","oa":21582,"x":[21915],"o":"INCHL"},{"a":21922,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":21925,"t":"code","b":[202],"m":"dex"},{"a":21926,"t":"code","b":[208,239],"m":"bne","oa":21911,"o":"b_5597"},{"a":21928,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":21931,"t":"code","b":[96],"m":"rts"},{"a":21932,"l":"act_get","c":"Command 52, GET: if the player already carries the database's maximum ($8072) or more, print \"Got too much.\" and abandon the rest of this action (it drops its return and goes to $5406); otherwise carry on into the forced get below","t":"code","b":[32,162,84],"m":"jsr","oa":21666,"x":[21775],"o":"count_carried_slot"},{"a":21935,"t":"code","b":[173,114,128],"m":"lda","oa":32882,"o":"db_max_carry"},{"a":21938,"t":"code","b":[56],"m":"sec"},{"a":21939,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":21941,"t":"code","b":[197,82],"m":"cmp","oa":82,"o":"reg_bc"},{"a":21943,"t":"code","b":[16,17],"m":"bpl","oa":21962,"o":"act_superget"},{"a":21945,"t":"code","b":[104],"m":"pla"},{"a":21946,"t":"code","b":[104],"m":"pla"},{"a":21947,"t":"code","b":[32,30,84],"m":"jsr","oa":21534,"o":"too_much_slot"},{"a":21950,"t":"code","b":[76,6,84],"m":"jmp","oa":21510,"o":"end_action_slot"},{"a":21953,"l":"too_much","c":"Print \"Got too much.\" ($5816)","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[21772],"o":"SETHLI"},{"a":21956,"c":"The text \" Got too much.\" and, on the next line, \"TAKE INVENTORY\": one string, so the hint always follows","t":"addr","b":[22,88],"oa":22550,"o":"txt_got_too_much_take"},{"a":21958,"c":"Print the complaint and return","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":21961,"t":"code","b":[96],"m":"rts"},{"a":21962,"l":"act_superget","c":"Command 74: the item the parameter names is carried ($FF in its location), whatever the count; the picture is owed again if the item was in this room","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21819,21943],"o":"next_param_slot"},{"a":21965,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":21968,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":21970,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":21972,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":21975,"t":"code","b":[208,3],"m":"bne","oa":21980,"o":"b_55DC"},{"a":21977,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":21980,"l":"b_55DC","t":"code","b":[169,255],"m":"lda","x":[21975],"o":"#$FF"},{"a":21982,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":21984,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":21986,"t":"code","b":[96],"m":"rts"},{"a":21987,"l":"act_drop","c":"Command 53, DROP: put the item the parameter names in the current room, note it in $1F21 and owe the picture again","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21777],"o":"next_param_slot"},{"a":21990,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":21992,"t":"code","b":[141,33,31],"m":"sta","oa":7969,"o":"piece_item"},{"a":21995,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":21998,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":22001,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22003,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22005,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22008,"t":"code","b":[96],"m":"rts"},{"a":22009,"l":"act_save","c":"Command 71: save the game ($5409)","t":"code","b":[32,9,84],"m":"jsr","oa":21513,"x":[21813],"o":"save_game_slot"},{"a":22012,"t":"code","b":[96],"m":"rts"},{"a":22013,"l":"act_delay","c":"Command 88: wait by counting HL up from 0 until it comes round to 0 again, 65,536 steps","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[21847],"o":"SETHLI"},{"a":22016,"c":"The count's starting value, 0","t":"word","b":[0,0],"d":[0]},{"a":22018,"l":"delay_loop","c":"Count HL up until it wraps to 0","t":"code","b":[230,78],"m":"inc","oa":78,"x":[22020,22024],"o":"reg_hl"},{"a":22020,"t":"code","b":[208,252],"m":"bne","oa":22018,"o":"delay_loop"},{"a":22022,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"reg_hl_hi"},{"a":22024,"t":"code","b":[208,248],"m":"bne","oa":22018,"o":"delay_loop"},{"a":22026,"t":"code","b":[96],"m":"rts"},{"a":22027,"l":"act_goto","c":"Command 54: move the player to the room the parameter names; the picture is owed if the room changes","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21779],"o":"next_param_slot"},{"a":22030,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22032,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22035,"t":"code","b":[240,6],"m":"beq","oa":22043,"o":"r_561B"},{"a":22037,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22040,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":22043,"l":"r_561B","t":"code","b":[96],"m":"rts","x":[22035]},{"a":22044,"l":"act_swap_items","c":"Command 72: swap the locations of the two items the parameters name, and owe the picture if either was in this room","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21815],"o":"next_param_slot"},{"a":22047,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":22050,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":22053,"t":"code","b":[32,24,84],"m":"jsr","oa":21528,"o":"next_param_slot"},{"a":22056,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":22059,"t":"code","b":[32,117,84],"m":"jsr","oa":21621,"o":"pull_de_slot"},{"a":22062,"t":"code","b":[72],"m":"pha"},{"a":22063,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22065,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":22067,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22069,"t":"code","b":[104],"m":"pla"},{"a":22070,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":22072,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22075,"t":"code","b":[208,3],"m":"bne","oa":22080,"o":"b_5640"},{"a":22077,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22080,"l":"b_5640","t":"code","b":[177,78],"m":"lda","oa":78,"x":[22075],"o":"(reg_hl),y"},{"a":22082,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22085,"t":"code","b":[208,3],"m":"bne","oa":22090,"o":"r_564A"},{"a":22087,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22090,"l":"r_564A","t":"code","b":[96],"m":"rts","x":[22085]},{"a":22091,"l":"act_destroy","c":"Commands 55 and 59: put the item the parameter names in room 0, where nothing is ever seen; the picture is owed if it was here","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21781,21789],"o":"next_param_slot"},{"a":22094,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":22097,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22099,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":22101,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22104,"t":"code","b":[208,3],"m":"bne","oa":22109,"o":"b_565D"},{"a":22106,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22109,"l":"b_565D","t":"code","b":[169,0],"m":"lda","x":[22104],"o":"#$00"},{"a":22111,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22113,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22115,"t":"code","b":[96],"m":"rts"},{"a":22116,"l":"act_continue","c":"Command 73: set the continue flag ($67), so the actions after this one with verb and noun 0 run as part of it","t":"code","b":[169,255],"m":"lda","x":[21817],"o":"#$FF"},{"a":22118,"t":"code","b":[133,103],"m":"sta","oa":103,"o":"continue_flag"},{"a":22120,"t":"code","b":[96],"m":"rts"},{"a":22121,"l":"act_set_dark","c":"Command 56: make it dark ($1C11 = $FF) and owe the picture, if it was light","t":"code","b":[173,17,28],"m":"lda","oa":7185,"x":[21783],"o":"flag_dark"},{"a":22124,"t":"code","b":[208,8],"m":"bne","oa":22134,"o":"r_5676"},{"a":22126,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":22128,"t":"code","b":[141,17,28],"m":"sta","oa":7185,"o":"flag_dark"},{"a":22131,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22134,"l":"r_5676","t":"code","b":[96],"m":"rts","x":[22124]},{"a":22135,"l":"act_dec_counter","c":"Command 77: take one from the counter ($1C00)","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[21825],"o":"load_hl_slot"},{"a":22138,"c":"The counter, $1C00, loaded into HL","t":"addr","b":[0,28],"oa":7168,"o":"counter"},{"a":22140,"c":"Take one and store it back","t":"code","b":[32,75,84],"m":"jsr","oa":21579,"o":"DECHL"},{"a":22143,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22145,"t":"code","b":[141,0,28],"m":"sta","oa":7168,"o":"counter"},{"a":22148,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":22150,"t":"code","b":[141,1,28],"m":"sta","oa":7169,"o":"counter_hi"},{"a":22153,"t":"code","b":[96],"m":"rts"},{"a":22154,"l":"act_print_counter","c":"Command 78: print the counter and a space","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[21827],"o":"load_hl_slot"},{"a":22157,"c":"The counter, $1C00, to print","t":"addr","b":[0,28],"oa":7168,"o":"counter"},{"a":22159,"c":"Print it and a space","t":"code","b":[32,72,84],"m":"jsr","oa":21576,"o":"PUTNUM"},{"a":22162,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":22164,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":22167,"t":"code","b":[96],"m":"rts"},{"a":22168,"l":"act_set_counter","c":"Command 79: set the counter to the parameter","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[106,21829],"o":"next_param_slot"},{"a":22171,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22173,"t":"code","b":[141,0,28],"m":"sta","oa":7168,"o":"counter"},{"a":22176,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":22178,"t":"code","b":[141,1,28],"m":"sta","oa":7169,"o":"counter_hi"},{"a":22181,"t":"code","b":[96],"m":"rts"},{"a":22182,"l":"act_swap_room","c":"Command 80: meant to swap the current room with the one saved in $1C24, it puts the saved room in, saves the current one, then jumps to set_room_a with the current room still in A, so the player stays where they were and only the saved room changes; the picture is owed all the same","t":"code","b":[173,34,28],"m":"lda","oa":7202,"x":[21831],"o":"room"},{"a":22185,"t":"code","b":[172,36,28],"m":"ldy","oa":7204,"o":"saved_rooms"},{"a":22188,"t":"code","b":[140,34,28],"m":"sty","oa":7202,"o":"room"},{"a":22191,"t":"code","b":[141,36,28],"m":"sta","oa":7204,"o":"saved_rooms"},{"a":22194,"t":"code","b":[76,84,87],"m":"jmp","oa":22356,"o":"set_room_a"},{"a":22197,"l":"act_set_light","c":"Command 57: if it was dark, make it light, describe the room and draw it","t":"code","b":[173,17,28],"m":"lda","oa":7185,"x":[21785,22391],"o":"flag_dark"},{"a":22200,"t":"code","b":[240,11],"m":"beq","oa":22213,"o":"r_56C5"},{"a":22202,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":22204,"t":"code","b":[141,17,28],"m":"sta","oa":7185,"o":"flag_dark"},{"a":22207,"t":"code","b":[32,21,84],"m":"jsr","oa":21525,"o":"look_slot"},{"a":22210,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":22213,"l":"r_56C5","t":"code","b":[96],"m":"rts","x":[22200]},{"a":22214,"l":"act_select_counter","c":"Command 81: swap the counter with the saved counter the parameter numbers ($1C2A + 2 x n)","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21833],"o":"next_param_slot"},{"a":22217,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":22220,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":22223,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":22226,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22229,"c":"The saved counters, $1C2A, two bytes each","t":"addr","b":[42,28],"oa":7210,"o":"saved_counters"},{"a":22231,"c":"Swap $1C00-$1C01 with the saved counter's two bytes","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":22234,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22236,"t":"code","b":[173,0,28],"m":"lda","oa":7168,"o":"counter"},{"a":22239,"t":"code","b":[72],"m":"pha"},{"a":22240,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":22242,"t":"code","b":[141,0,28],"m":"sta","oa":7168,"o":"counter"},{"a":22245,"t":"code","b":[104],"m":"pla"},{"a":22246,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22248,"t":"code","b":[200],"m":"iny"},{"a":22249,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":22251,"t":"code","b":[72],"m":"pha"},{"a":22252,"t":"code","b":[173,1,28],"m":"lda","oa":7169,"o":"counter_hi"},{"a":22255,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22257,"t":"code","b":[104],"m":"pla"},{"a":22258,"t":"code","b":[141,1,28],"m":"sta","oa":7169,"o":"counter_hi"},{"a":22261,"t":"code","b":[96],"m":"rts"},{"a":22262,"l":"act_add_counter","c":"Command 82: add the parameter to the counter","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21835],"o":"next_param_slot"},{"a":22265,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":22268,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":22271,"c":"The counter, $1C00, to add to","t":"addr","b":[0,28],"oa":7168,"o":"counter"},{"a":22273,"c":"Add and store it back","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":22276,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22278,"t":"code","b":[141,0,28],"m":"sta","oa":7168,"o":"counter"},{"a":22281,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":22283,"t":"code","b":[141,1,28],"m":"sta","oa":7169,"o":"counter_hi"},{"a":22286,"t":"code","b":[96],"m":"rts"},{"a":22287,"l":"act_sub_counter","c":"Command 83: subtract the parameter from the counter","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21837],"o":"next_param_slot"},{"a":22290,"t":"code","b":[56],"m":"sec"},{"a":22291,"t":"code","b":[173,0,28],"m":"lda","oa":7168,"o":"counter"},{"a":22294,"t":"code","b":[229,78],"m":"sbc","oa":78,"o":"reg_hl"},{"a":22296,"t":"code","b":[141,0,28],"m":"sta","oa":7168,"o":"counter"},{"a":22299,"t":"code","b":[173,1,28],"m":"lda","oa":7169,"o":"counter_hi"},{"a":22302,"t":"code","b":[229,79],"m":"sbc","oa":79,"o":"reg_hl_hi"},{"a":22304,"t":"code","b":[141,1,28],"m":"sta","oa":7169,"o":"counter_hi"},{"a":22307,"t":"code","b":[96],"m":"rts"},{"a":22308,"l":"act_print_noun","c":"Command 84: print the noun's word at $1E70: as typed, but with its first four letters those of the word it matched, so a synonym prints as its main word","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[21839],"o":"SETHLI"},{"a":22311,"c":"The noun's word, $1E70, to print","t":"addr","b":[112,30],"oa":7792,"o":"typed_word"},{"a":22313,"c":"Print the noun and return","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22316,"t":"code","b":[96],"m":"rts"},{"a":22317,"l":"act_print_noun_cr","c":"Command 85: print the noun's word at $1E70, as command 84 does, then end the line","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[21841],"o":"SETHLI"},{"a":22320,"c":"The noun's word, $1E70, to print before the newline","t":"addr","b":[112,30],"oa":7792,"o":"typed_word"},{"a":22322,"c":"Print it and fall into the newline","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22325,"l":"act_newline","c":"Command 86: end the line","t":"code","b":[32,51,84],"m":"jsr","oa":21555,"x":[21843],"o":"PUTCR"},{"a":22328,"t":"code","b":[96],"m":"rts"},{"a":22329,"l":"act_set_flag","c":"Command 58: set the flag the parameter numbers ($1C02 + n = $FF)","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21787],"o":"next_param_slot"},{"a":22332,"t":"code","b":[164,78],"m":"ldy","oa":78,"o":"reg_hl"},{"a":22334,"l":"set_flag_y","c":"Set flag Y; command 67 enters here for flag 0","t":"code","b":[169,255],"m":"lda","x":[22856],"o":"#$FF"},{"a":22336,"t":"code","b":[153,2,28],"m":"sta","oa":7170,"o":"flags,y"},{"a":22339,"t":"code","b":[96],"m":"rts"},{"a":22340,"l":"act_swap_saved_room","c":"Command 87: swap the current room with saved room n ($1C24 + n), and owe the picture","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21845],"o":"next_param_slot"},{"a":22343,"t":"code","b":[164,78],"m":"ldy","oa":78,"o":"reg_hl"},{"a":22345,"t":"code","b":[185,36,28],"m":"lda","oa":7204,"o":"saved_rooms,y"},{"a":22348,"t":"code","b":[72],"m":"pha"},{"a":22349,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":22352,"t":"code","b":[153,36,28],"m":"sta","oa":7204,"o":"saved_rooms,y"},{"a":22355,"t":"code","b":[104],"m":"pla"},{"a":22356,"l":"set_room_a","c":"Make A the current room and owe its picture; command 80 ends here","t":"code","b":[141,34,28],"m":"sta","oa":7202,"x":[22194],"o":"room"},{"a":22359,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22362,"t":"code","b":[96],"m":"rts"},{"a":22363,"l":"act_clear_flag","c":"Command 60: clear the flag the parameter numbers","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21791],"o":"next_param_slot"},{"a":22366,"t":"code","b":[164,78],"m":"ldy","oa":78,"o":"reg_hl"},{"a":22368,"l":"clear_flag_y","c":"Clear flag Y; command 68 enters here for flag 0","t":"code","b":[169,0],"m":"lda","x":[22861],"o":"#$00"},{"a":22370,"t":"code","b":[153,2,28],"m":"sta","oa":7170,"o":"flags,y"},{"a":22373,"t":"code","b":[96],"m":"rts"},{"a":22374,"l":"act_die","c":"Command 61: print \"I'M DEAD!\", move the player to the database's limbo room ($8070), owe the picture, and end through command 57 (make it light, describe the room)","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[21793],"o":"SETHLI"},{"a":22377,"c":"The text \" I'M DEAD!\" ($577A)","t":"addr","b":[122,87],"oa":22394,"o":"txt_im_dead"},{"a":22379,"c":"Print it and move to limbo","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22382,"t":"code","b":[173,112,128],"m":"lda","oa":32880,"o":"db_limbo"},{"a":22385,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":22388,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22391,"t":"code","b":[76,181,86],"m":"jmp","oa":22197,"o":"act_set_light"},{"a":22394,"l":"txt_im_dead","c":"Text \" I'M DEAD!(newline)\", zero-terminated; referred to at $5766","t":"byte","b":[32,73,39,77,32,68,69,65],"x":[22377]},{"a":22402,"t":"byte","b":[68,33,13,0]},{"a":22406,"l":"act_put","c":"Command 62: put the item the first parameter names in the room the second names; the picture is owed if the item arrives in this room or leaves it","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21795],"o":"next_param_slot"},{"a":22409,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22411,"t":"code","b":[141,33,31],"m":"sta","oa":7969,"o":"piece_item"},{"a":22414,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":22417,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":22420,"t":"code","b":[32,24,84],"m":"jsr","oa":21528,"o":"next_param_slot"},{"a":22423,"t":"code","b":[32,117,84],"m":"jsr","oa":21621,"o":"pull_de_slot"},{"a":22426,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22428,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":22430,"t":"code","b":[72],"m":"pha"},{"a":22431,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22433,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":22435,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22438,"t":"code","b":[208,3],"m":"bne","oa":22443,"o":"b_57AB"},{"a":22440,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22443,"l":"b_57AB","t":"code","b":[104],"m":"pla","x":[22438]},{"a":22444,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22447,"t":"code","b":[208,3],"m":"bne","oa":22452,"o":"r_57B4"},{"a":22449,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22452,"l":"r_57B4","t":"code","b":[96],"m":"rts","x":[22447]},{"a":22453,"l":"act_game_over","c":"Command 63, and the end of a won game: turn the picture on and draw it, describe the room, print \"Now Hit-Y\" and wait. Y starts again; RETURN alone switches between the picture and the text; anything else does it all again. The address of \"ADVENTURE over!\" is loaded into HL first and replaced before anything prints it, so that message never appears","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[21797,22512,22754],"o":"SETHLI"},{"a":22456,"c":"The text \"ADVENTURE over!\" ($5805), loaded and then never printed","t":"addr","b":[5,88],"oa":22533,"o":"txt_adventure_over"},{"a":22458,"c":"Turn the picture on, draw it, describe the room","t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":22460,"t":"code","b":[141,34,31],"m":"sta","oa":7970,"o":"picture_flag"},{"a":22463,"t":"code","b":[32,171,84],"m":"jsr","oa":21675,"o":"graphics_on_slot"},{"a":22466,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":22469,"t":"code","b":[32,21,84],"m":"jsr","oa":21525,"o":"look_slot"},{"a":22472,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22475,"c":"The text \"Now Hit-Y\" ($57F9)","t":"addr","b":[249,87],"oa":22521,"o":"txt_now_hity"},{"a":22477,"c":"Print it and wait for a line; an empty line flips the picture on or off","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22480,"l":"j_57D0","t":"code","b":[32,204,84],"m":"jsr","oa":21708,"x":[22501,22507],"o":"wait_return_slot"},{"a":22483,"t":"code","b":[173,62,30],"m":"lda","oa":7742,"o":"line_buffer"},{"a":22486,"t":"code","b":[208,22],"m":"bne","oa":22510,"o":"b_57EE"},{"a":22488,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":22491,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":22493,"t":"code","b":[141,34,31],"m":"sta","oa":7970,"o":"picture_flag"},{"a":22496,"t":"code","b":[208,6],"m":"bne","oa":22504,"o":"b_57E8"},{"a":22498,"t":"code","b":[32,174,84],"m":"jsr","oa":21678,"o":"graphics_off_slot"},{"a":22501,"t":"code","b":[76,208,87],"m":"jmp","oa":22480,"o":"j_57D0"},{"a":22504,"l":"b_57E8","t":"code","b":[32,171,84],"m":"jsr","oa":21675,"x":[22496],"o":"graphics_on_slot"},{"a":22507,"t":"code","b":[76,208,87],"m":"jmp","oa":22480,"o":"j_57D0"},{"a":22510,"l":"b_57EE","t":"code","b":[201,89],"m":"cmp","x":[22486],"o":"#$59"},{"a":22512,"t":"code","b":[208,195],"m":"bne","oa":22453,"o":"act_game_over"},{"a":22514,"t":"code","b":[76,45,84],"m":"jmp","oa":21549,"o":"RESTRT"},{"a":22517,"l":"act_look","c":"Commands 64 and 76: describe the room ($5415)","t":"code","b":[32,21,84],"m":"jsr","oa":21525,"x":[21799,21823],"o":"look_slot"},{"a":22520,"t":"code","b":[96],"m":"rts"},{"a":22521,"l":"txt_now_hity","c":"Text \"(newline)Now Hit-Y(newline)\", zero-terminated; referred to at $57C8","t":"byte","b":[13,78,111,119,32,72,105,116],"x":[22475]},{"a":22529,"t":"byte","b":[45,89,13,0]},{"a":22533,"l":"txt_adventure_over","c":"Text \"ADVENTURE over!(newline)\", zero-terminated; referred to at $57B5; the game-over code at $57B5 loads its address and then replaces it before anything prints it, so it never appears","t":"byte","b":[65,68,86,69,78,84,85,82],"x":[22456]},{"a":22541,"t":"byte","b":[69,32,111,118,101,114,33,13]},{"a":22549,"t":"byte","b":[0]},{"a":22550,"l":"txt_got_too_much_take","c":"Text \"(newline) Got too much.(newline)TAKE INVENTORY(newline)\", zero-terminated; referred to at $55C1; the hint is part of the same text, so it always follows the complaint","t":"byte","b":[13,32,71,111,116,32,116,111],"x":[21956]},{"a":22558,"t":"byte","b":[111,32,109,117,99,104,46,13]},{"a":22566,"t":"byte","b":[84,65,75,69,32,73,78,86]},{"a":22574,"t":"byte","b":[69,78,84,79,82,89,13,0]},{"a":22582,"l":"act_score","c":"Command 65: count the treasures (items whose description starts with '*') in the treasure room ($807B), print \"Stored n treasures\" and \"Scale 0-100 thats s\" with s = 100 x n / the number of treasures ($8076); when every treasure is there, print \"YOU WON!\" and end the game ($57B5)","t":"code","b":[169,0],"m":"lda","x":[21801],"o":"#$00"},{"a":22584,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":22586,"t":"code","b":[138],"m":"txa"},{"a":22587,"t":"code","b":[72],"m":"pha"},{"a":22588,"t":"code","b":[174,108,128],"m":"ldx","oa":32876,"o":"db_last_item"},{"a":22591,"t":"code","b":[232],"m":"inx"},{"a":22592,"t":"code","b":[32,153,84],"m":"jsr","oa":21657,"o":"push_iy_slot"},{"a":22595,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":22598,"c":"Item 0's location, from the pointer at $1C3A, into HL and on into IY","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":22600,"c":"HL to IY","t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":22603,"t":"code","b":[32,156,84],"m":"jsr","oa":21660,"o":"pull_iy_slot"},{"a":22606,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":22609,"c":"The address of the database's table of item descriptions, from $8058","t":"addr","b":[88,128],"oa":32856,"o":"db_item_texts"},{"a":22611,"l":"score_each_item","c":"For each item: its description's first character, and its location in IY","t":"code","b":[160,0],"m":"ldy","x":[22652],"o":"#$00"},{"a":22613,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":22615,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":22617,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":22620,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":22622,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":22624,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":22627,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":22630,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":22632,"t":"code","b":[201,42],"m":"cmp","o":"#$2A"},{"a":22634,"t":"code","b":[208,9],"m":"bne","oa":22645,"o":"b_5875"},{"a":22636,"t":"code","b":[173,123,128],"m":"lda","oa":32891,"o":"db_treasure_room"},{"a":22639,"t":"code","b":[209,86],"m":"cmp","oa":86,"o":"(reg_iy),y"},{"a":22641,"t":"code","b":[208,2],"m":"bne","oa":22645,"o":"b_5875"},{"a":22643,"t":"code","b":[230,82],"m":"inc","oa":82,"o":"reg_bc"},{"a":22645,"l":"b_5875","t":"code","b":[32,159,84],"m":"jsr","oa":21663,"x":[22634,22641],"o":"inc_iy_slot"},{"a":22648,"t":"code","b":[32,159,84],"m":"jsr","oa":21663,"o":"inc_iy_slot"},{"a":22651,"t":"code","b":[202],"m":"dex"},{"a":22652,"t":"code","b":[208,213],"m":"bne","oa":22611,"o":"score_each_item"},{"a":22654,"t":"code","b":[32,156,84],"m":"jsr","oa":21660,"o":"pull_iy_slot"},{"a":22657,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22660,"c":"The text \"Stored \" ($58F3)","t":"addr","b":[243,88],"oa":22771,"o":"txt_stored"},{"a":22662,"c":"Print it and the count","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22665,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"reg_bc"},{"a":22667,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":22669,"t":"code","b":[72],"m":"pha"},{"a":22670,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":22672,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":22674,"t":"code","b":[32,72,84],"m":"jsr","oa":21576,"o":"PUTNUM"},{"a":22677,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22680,"c":"The text \" treasures\" ($58FB)","t":"addr","b":[251,88],"oa":22779,"o":"txt_treasures"},{"a":22682,"c":"Print \" treasures\" and a newline","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22685,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22688,"c":"The text \"Scale 0-100 thats \" ($5907)","t":"addr","b":[7,89],"oa":22791,"o":"txt_scale_0100_thats"},{"a":22690,"c":"Print it, then multiply the count by 100","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22693,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":22695,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":22697,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":22699,"t":"code","b":[166,82],"m":"ldx","oa":82,"o":"reg_bc"},{"a":22701,"t":"code","b":[240,28],"m":"beq","oa":22731,"o":"b_58CB"},{"a":22703,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22706,"c":"100, the scale","t":"word","b":[100,0],"d":[100]},{"a":22708,"c":"Add it once for each treasure, then divide by the total","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":22711,"t":"code","b":[202],"m":"dex"},{"a":22712,"t":"code","b":[240,6],"m":"beq","oa":22720,"o":"b_58C0"},{"a":22714,"l":"b_58BA","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"x":[22718],"o":"add_hl_bc_slot"},{"a":22717,"t":"code","b":[202],"m":"dex"},{"a":22718,"t":"code","b":[208,250],"m":"bne","oa":22714,"o":"b_58BA"},{"a":22720,"l":"b_58C0","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"x":[22712],"o":"de_from_hl_slot"},{"a":22723,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":22726,"c":"The number of treasures in the game, read from $8076","t":"addr","b":[118,128],"oa":32886,"o":"db_treasures"},{"a":22728,"c":"Divide, print the score and compare the count with the total","t":"code","b":[32,33,84],"m":"jsr","oa":21537,"o":"divide_slot"},{"a":22731,"l":"b_58CB","t":"code","b":[32,72,84],"m":"jsr","oa":21576,"x":[22701],"o":"PUTNUM"},{"a":22734,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":22737,"t":"code","b":[104],"m":"pla"},{"a":22738,"t":"code","b":[205,118,128],"m":"cmp","oa":32886,"o":"db_treasures"},{"a":22741,"t":"code","b":[240,3],"m":"beq","oa":22746,"o":"b_58DA"},{"a":22743,"t":"code","b":[104],"m":"pla"},{"a":22744,"t":"code","b":[170],"m":"tax"},{"a":22745,"t":"code","b":[96],"m":"rts"},{"a":22746,"l":"b_58DA","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[22741],"o":"SETHLI"},{"a":22749,"c":"The text \"YOU WON!\" ($591A)","t":"addr","b":[26,89],"oa":22810,"o":"txt_you_won"},{"a":22751,"c":"Print it and end the game","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22754,"t":"code","b":[76,181,87],"m":"jmp","oa":22453,"o":"act_game_over"},{"a":22757,"l":"txt_hit_return","c":"Text \"(newline)<HIT RETURN>\", zero-terminated; referred to at $557A, $5937","t":"byte","b":[13,60,72,73,84,32,82,69],"x":[21885,22842]},{"a":22765,"t":"byte","b":[84,85,82,78,62,0]},{"a":22771,"l":"txt_stored","c":"Text \"Stored \", zero-terminated; referred to at $5881","t":"byte","b":[83,116,111,114,101,100,32,0],"x":[22660]},{"a":22779,"l":"txt_treasures","c":"Text \" treasures(newline)\", zero-terminated; referred to at $5895","t":"byte","b":[32,116,114,101,97,115,117,114],"x":[22680]},{"a":22787,"t":"byte","b":[101,115,13,0]},{"a":22791,"l":"txt_scale_0100_thats","c":"Text \"Scale 0-100 thats \", zero-terminated; referred to at $589D","t":"byte","b":[83,99,97,108,101,32,48,45],"x":[22688]},{"a":22799,"t":"byte","b":[49,48,48,32,116,104,97,116]},{"a":22807,"t":"byte","b":[115,32,0]},{"a":22810,"l":"txt_you_won","c":"Text \"YOU WON!(newline)\", zero-terminated; referred to at $58DA","t":"byte","b":[89,79,85,32,87,79,78,33],"x":[22749]},{"a":22818,"t":"byte","b":[13,0]},{"a":22820,"l":"act_inventory","c":"Command 66: list what is carried and draw it ($540F), OR the flag that says the room's picture is owed into $1F23, which nothing reads, and when the picture is on print \"<HIT RETURN>\", wait, and draw the room again","t":"code","b":[173,32,31],"m":"lda","oa":7968,"x":[21803],"o":"picture_owed_count"},{"a":22823,"t":"code","b":[72],"m":"pha"},{"a":22824,"t":"code","b":[32,15,84],"m":"jsr","oa":21519,"o":"inventory_slot"},{"a":22827,"t":"code","b":[104],"m":"pla"},{"a":22828,"t":"code","b":[13,35,31],"m":"ora","oa":7971,"o":"owed_copy"},{"a":22831,"t":"code","b":[141,35,31],"m":"sta","oa":7971,"o":"owed_copy"},{"a":22834,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":22837,"t":"code","b":[240,14],"m":"beq","oa":22853,"o":"r_5945"},{"a":22839,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":22842,"c":"The text \"<HIT RETURN>\" ($58E5), shown under the carried items","t":"addr","b":[229,88],"oa":22757,"o":"txt_hit_return"},{"a":22844,"c":"Print it, wait, and redraw the room","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":22847,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":22850,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":22853,"l":"r_5945","t":"code","b":[96],"m":"rts","x":[22837]},{"a":22854,"l":"act_set_flag_0","c":"Command 67: set flag 0","t":"code","b":[160,0],"m":"ldy","x":[21805],"o":"#$00"},{"a":22856,"t":"code","b":[76,62,87],"m":"jmp","oa":22334,"o":"set_flag_y"},{"a":22859,"l":"act_clear_flag_0","c":"Command 68: clear flag 0","t":"code","b":[160,0],"m":"ldy","x":[21807],"o":"#$00"},{"a":22861,"t":"code","b":[76,96,87],"m":"jmp","oa":22368,"o":"clear_flag_y"},{"a":22864,"l":"act_refill_light","c":"Command 69: give the light its full time again ($8078 to $1E9F), make the player carry item 9 (the light), clear flag 16 (the light has run out), describe the room and draw it","t":"code","b":[173,120,128],"m":"lda","oa":32888,"x":[21809],"o":"db_light_turns"},{"a":22867,"t":"code","b":[141,159,30],"m":"sta","oa":7839,"o":"light_turns"},{"a":22870,"t":"code","b":[173,121,128],"m":"lda","oa":32889,"o":"db_light_turns_hi"},{"a":22873,"t":"code","b":[141,160,30],"m":"sta","oa":7840,"o":"light_turns_hi"},{"a":22876,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":22879,"c":"HL from the pointer at $1C3A: item 0's location, so that item 9's is 18 bytes on","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":22881,"c":"Item 9 carried, flag 16 cleared, room described and drawn","t":"code","b":[160,18],"m":"ldy","o":"#$12"},{"a":22883,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":22885,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22887,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":22889,"t":"code","b":[141,18,28],"m":"sta","oa":7186,"o":"flag_light_out"},{"a":22892,"t":"code","b":[32,21,84],"m":"jsr","oa":21525,"o":"look_slot"},{"a":22895,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":22898,"t":"code","b":[96],"m":"rts"},{"a":22899,"l":"act_clear_screen","c":"Command 70: clear the screen","t":"code","b":[32,60,84],"m":"jsr","oa":21564,"x":[21811],"o":"CLS"},{"a":22902,"t":"code","b":[96],"m":"rts"},{"a":22903,"l":"act_put_with","c":"Command 75: put the item the first parameter names where the item the second names is, and owe the picture if either place is this room","t":"code","b":[32,24,84],"m":"jsr","oa":21528,"x":[21821],"o":"next_param_slot"},{"a":22906,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22908,"t":"code","b":[141,33,31],"m":"sta","oa":7969,"o":"piece_item"},{"a":22911,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":22914,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":22917,"t":"code","b":[32,24,84],"m":"jsr","oa":21528,"o":"next_param_slot"},{"a":22920,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":22923,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":22926,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":22928,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22931,"t":"code","b":[208,3],"m":"bne","oa":22936,"o":"b_5998"},{"a":22933,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22936,"l":"b_5998","t":"code","b":[72],"m":"pha","x":[22931]},{"a":22937,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":22939,"t":"code","b":[133,72],"m":"sta","oa":72,"o":"quotient_lo"},{"a":22941,"t":"code","b":[104],"m":"pla"},{"a":22942,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":22944,"t":"code","b":[165,72],"m":"lda","oa":72,"o":"quotient_lo"},{"a":22946,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":22949,"t":"code","b":[208,3],"m":"bne","oa":22954,"o":"r_59AA"},{"a":22951,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":22954,"l":"r_59AA","t":"code","b":[96],"m":"rts","x":[22949]},{"a":22955,"l":"divide","c":"Sixteen-bit division: DE divided by HL, the quotient left in HL and the remainder in DE, one bit a pass for 16 passes. It splits a condition word into its type and value (the word is value x 20 + type), scales the score and finds the digits of a number","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[21760,21769],"o":"SAVER"},{"a":22958,"t":"code","b":[162,16],"m":"ldx","o":"#$10"},{"a":22960,"t":"code","b":[32,108,84],"m":"jsr","oa":21612,"o":"push_bc_slot"},{"a":22963,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":22965,"t":"code","b":[133,72],"m":"sta","oa":72,"o":"quotient_lo"},{"a":22967,"t":"code","b":[133,73],"m":"sta","oa":73,"o":"quotient_hi"},{"a":22969,"t":"code","b":[133,74],"m":"sta","oa":74,"o":"remainder_lo"},{"a":22971,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"remainder_hi"},{"a":22973,"l":"b_59BD","t":"code","b":[6,72],"m":"asl","oa":72,"x":[23032],"o":"quotient_lo"},{"a":22975,"t":"code","b":[38,73],"m":"rol","oa":73,"o":"quotient_hi"},{"a":22977,"t":"code","b":[6,80],"m":"asl","oa":80,"o":"reg_de"},{"a":22979,"t":"code","b":[38,81],"m":"rol","oa":81,"o":"reg_de_hi"},{"a":22981,"t":"code","b":[38,74],"m":"rol","oa":74,"o":"remainder_lo"},{"a":22983,"t":"code","b":[38,75],"m":"rol","oa":75,"o":"remainder_hi"},{"a":22985,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":22988,"t":"code","b":[56],"m":"sec"},{"a":22989,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":22991,"t":"code","b":[229,74],"m":"sbc","oa":74,"o":"remainder_lo"},{"a":22993,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":22995,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":22997,"t":"code","b":[229,75],"m":"sbc","oa":75,"o":"remainder_hi"},{"a":22999,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23001,"t":"code","b":[5,78],"m":"ora","oa":78,"o":"reg_hl"},{"a":23003,"t":"code","b":[240,4],"m":"beq","oa":23009,"o":"b_59E1"},{"a":23005,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":23007,"t":"code","b":[16,19],"m":"bpl","oa":23028,"o":"b_59F4"},{"a":23009,"l":"b_59E1","t":"code","b":[230,72],"m":"inc","oa":72,"x":[23003],"o":"quotient_lo"},{"a":23011,"t":"code","b":[208,2],"m":"bne","oa":23015,"o":"b_59E7"},{"a":23013,"t":"code","b":[230,73],"m":"inc","oa":73,"o":"quotient_hi"},{"a":23015,"l":"b_59E7","t":"code","b":[56],"m":"sec","x":[23011]},{"a":23016,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":23018,"t":"code","b":[229,78],"m":"sbc","oa":78,"o":"reg_hl"},{"a":23020,"t":"code","b":[133,74],"m":"sta","oa":74,"o":"remainder_lo"},{"a":23022,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":23024,"t":"code","b":[229,79],"m":"sbc","oa":79,"o":"reg_hl_hi"},{"a":23026,"t":"code","b":[133,75],"m":"sta","oa":75,"o":"remainder_hi"},{"a":23028,"l":"b_59F4","t":"code","b":[32,93,84],"m":"jsr","oa":21597,"x":[23007],"o":"PULLHL"},{"a":23031,"t":"code","b":[202],"m":"dex"},{"a":23032,"t":"code","b":[208,195],"m":"bne","oa":22973,"o":"b_59BD"},{"a":23034,"t":"code","b":[165,72],"m":"lda","oa":72,"o":"quotient_lo"},{"a":23036,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":23038,"t":"code","b":[165,73],"m":"lda","oa":73,"o":"quotient_hi"},{"a":23040,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23042,"t":"code","b":[165,74],"m":"lda","oa":74,"o":"remainder_lo"},{"a":23044,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":23046,"t":"code","b":[165,75],"m":"lda","oa":75,"o":"remainder_hi"},{"a":23048,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":23050,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":23053,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":23056,"t":"code","b":[96],"m":"rts"},{"a":23057,"l":"source_fragment","c":"A piece of the original assembler's source file left in the program: the lines that make the entry table's slots PUT to DECBC ($5430-$5460), each a line number counting in tens from 1860, a length, then the slot's name and five bytes the same on every line. After DECBC come $1D and $8C, then \"<HIT R\" in shifted letters ($5AFA-$5AFF), the start of an older copy of a message","t":"byte","b":[3,68,7,12,131,80,85,84]},{"a":23065,"t":"byte","b":[29,13,18,8,3,78,7,14]},{"a":23073,"t":"byte","b":[133,80,85,84,67,82,29,13]},{"a":23081,"t":"byte","b":[18,8,3,88,7,13,132,80]},{"a":23089,"t":"byte","b":[85,84,90,29,13,18,8,3]},{"a":23097,"t":"byte","b":[98,7,14,133,82,69,65,68]},{"a":23105,"t":"byte","b":[75,29,13,18,8,3,108,7]},{"a":23113,"t":"byte","b":[12,131,67,76,83,29,13,18]},{"a":23121,"t":"byte","b":[8,3,118,7,14,133,80,85]},{"a":23129,"t":"byte","b":[84,83,65,29,13,18,8,3]},{"a":23137,"t":"byte","b":[128,7,13,132,80,85,84,83]},{"a":23145,"t":"byte","b":[29,13,18,8,3,138,7,14]},{"a":23153,"t":"byte","b":[133,71,69,84,73,65,29,13]},{"a":23161,"t":"byte","b":[18,8,3,148,7,15,134,80]},{"a":23169,"t":"byte","b":[85,84,78,85,77,29,13,18]},{"a":23177,"t":"byte","b":[8,3,158,7,14,133,68,69]},{"a":23185,"t":"byte","b":[67,72,76,29,13,18,8,3]},{"a":23193,"t":"byte","b":[168,7,14,133,73,78,67,72]},{"a":23201,"t":"byte","b":[76,29,13,18,8,3,178,7]},{"a":23209,"t":"byte","b":[15,134,83,69,84,72,76,73]},{"a":23217,"t":"byte","b":[29,13,18,8,3,188,7,14]},{"a":23225,"t":"byte","b":[133,83,65,86,69,82,29,13]},{"a":23233,"t":"byte","b":[18,8,3,198,7,14,133,71]},{"a":23241,"t":"byte","b":[69,84,69,82,29,13,18,8]},{"a":23249,"t":"byte","b":[3,208,7,14,133,80,85,83]},{"a":23257,"t":"byte","b":[72,76,29,13,18,8,3,218]},{"a":23265,"t":"byte","b":[7,15,134,80,85,76,76,72]},{"a":23273,"t":"byte","b":[76,29,13,18,8,3,228,7]},{"a":23281,"t":"byte","b":[14,133,68,69,67,66,67,29]},{"a":23289,"t":"byte","b":[140,188,200,201,212,160,210]},{"a":23296,"l":"interp_module","c":"The action interpreter's table: run the actions ($5B06), and finish one action ($5D4A)","t":"code","b":[76,6,91],"m":"jmp","oa":23302,"x":[21507],"o":"run_actions"},{"a":23299,"l":"end_action_jmp","c":"Finish one action: to $5D4A","t":"code","b":[76,74,93],"m":"jmp","oa":23882,"x":[21510],"o":"end_action"},{"a":23302,"l":"run_actions","c":"Run the database's actions against the verb in $5F and the noun in $61; with verb 0, the automatic actions that end every turn. Sets the two dispatch stubs ($6A, $6D) to JMP. A verb of 1 (GO) with a noun under 7 (a direction, or none) goes to the movement routine ($5F50) instead. Otherwise IX counts through the actions from 0 to the number in $806A, and each one whose verb and noun fit has its five conditions tested and, if all pass, its four commands run. Flags: $63 nothing has taken the line yet (cleared when an action fits, or when GET or DROP of a named item answers, $5D9A), $65 the last one tried passed its conditions, $66 some action fitted verb and noun, $67 continue into the next action","t":"code","b":[169,0],"m":"lda","x":[23296],"o":"#$00"},{"a":23304,"t":"code","b":[133,103],"m":"sta","oa":103,"o":"continue_flag"},{"a":23306,"t":"code","b":[133,102],"m":"sta","oa":102,"o":"action_fitted"},{"a":23308,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":23310,"t":"code","b":[133,101],"m":"sta","oa":101,"o":"conds_passed"},{"a":23312,"t":"code","b":[133,99],"m":"sta","oa":99,"o":"line_not_taken"},{"a":23314,"t":"code","b":[169,76],"m":"lda","o":"#$4C"},{"a":23316,"t":"code","b":[133,106],"m":"sta","oa":106,"o":"cmd_stub"},{"a":23318,"t":"code","b":[133,109],"m":"sta","oa":109,"o":"cond_stub"},{"a":23320,"t":"code","b":[165,95],"m":"lda","oa":95,"o":"verb"},{"a":23322,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":23324,"t":"code","b":[208,10],"m":"bne","oa":23336,"o":"b_5B28"},{"a":23326,"t":"code","b":[165,97],"m":"lda","oa":97,"o":"noun"},{"a":23328,"t":"code","b":[201,7],"m":"cmp","o":"#$07"},{"a":23330,"t":"code","b":[16,4],"m":"bpl","oa":23336,"o":"b_5B28"},{"a":23332,"t":"code","b":[32,80,95],"m":"jsr","oa":24400,"o":"move"},{"a":23335,"l":"r_5B27","t":"code","b":[96],"m":"rts","x":[23366,23390]},{"a":23336,"l":"b_5B28","t":"code","b":[169,255],"m":"lda","x":[23324,23330],"o":"#$FF"},{"a":23338,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":23340,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":23342,"l":"next_action","c":"The next action: IX = IX + 1, and stop at the number of actions ($806A)","t":"code","b":[230,84],"m":"inc","oa":84,"x":[23477,23689,23886],"o":"reg_ix"},{"a":23344,"t":"code","b":[208,2],"m":"bne","oa":23348,"o":"b_5B34"},{"a":23346,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"reg_ix_hi"},{"a":23348,"l":"b_5B34","t":"code","b":[32,147,84],"m":"jsr","oa":21651,"x":[23344],"o":"push_ix_slot"},{"a":23351,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":23354,"t":"code","b":[32,75,84],"m":"jsr","oa":21579,"o":"DECHL"},{"a":23357,"t":"code","b":[32,120,84],"m":"jsr","oa":21624,"o":"cmp_hl_mem_slot"},{"a":23360,"c":"The number of actions in the database, $806A, compared with IX","t":"addr","b":[106,128],"oa":32874,"o":"db_last_action"},{"a":23362,"c":"Not at the end: read this action. At the end, a player's turn closes below","t":"code","b":[208,32],"m":"bne","oa":23396,"o":"read_action"},{"a":23364,"l":"end_of_actions","c":"The scan has ended: after the automatic actions, return; after a player's input, try GET and DROP of a named item ($5D9A), then print \"I don't understand you\" if no action fitted the verb and noun and GET or DROP did not answer, or \"Can't do that... YET!\" if the last action that fitted failed its conditions","t":"code","b":[165,95],"m":"lda","oa":95,"x":[23893],"o":"verb"},{"a":23366,"t":"code","b":[240,223],"m":"beq","oa":23335,"o":"r_5B27"},{"a":23368,"t":"code","b":[32,154,93],"m":"jsr","oa":23962,"o":"auto_get_drop"},{"a":23371,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23374,"c":"The text \" I don't understand you\" ($5D58)","t":"addr","b":[88,93],"oa":23896,"o":"txt_i_dont_understand_you"},{"a":23376,"c":"Print it if nothing took the line ($63)","t":"code","b":[165,99],"m":"lda","oa":99,"o":"line_not_taken"},{"a":23378,"t":"code","b":[240,3],"m":"beq","oa":23383,"o":"b_5B57"},{"a":23380,"t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":23383,"l":"b_5B57","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[23378],"o":"SETHLI"},{"a":23386,"c":"The text \"Can't do that... YET!\" ($5D72)","t":"addr","b":[114,93],"oa":23922,"o":"txt_cant_do_that_yet"},{"a":23388,"c":"Print it unless the last action tried passed its conditions ($65)","t":"code","b":[165,101],"m":"lda","oa":101,"o":"conds_passed"},{"a":23390,"t":"code","b":[208,199],"m":"bne","oa":23335,"o":"r_5B27"},{"a":23392,"t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":23395,"l":"r_5B63","t":"code","b":[96],"m":"rts","x":[23434,23450]},{"a":23396,"l":"read_action","c":"Read action IX's verb and noun","t":"code","b":[32,147,84],"m":"jsr","oa":21651,"x":[23362],"o":"push_ix_slot"},{"a":23399,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":23402,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":23405,"c":"The address of the actions' verb column, from $8030; the action's verb byte goes to $69","t":"addr","b":[48,128],"oa":32816,"o":"db_action_verbs"},{"a":23407,"c":"HL = verb column + IX","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23410,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":23412,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23414,"t":"code","b":[133,105],"m":"sta","oa":105,"o":"action_verb"},{"a":23416,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":23419,"c":"The address of the actions' noun column, from $8032; the noun byte goes to $68","t":"addr","b":[50,128],"oa":32818,"o":"db_action_nouns"},{"a":23421,"c":"The automatic actions come first in the table: with verb 0, the scan stops at the first action that has a verb. An action of verb 0 and noun 0 after one that set the continue flag runs as its continuation. An automatic action runs when a number from 1 to 100 ($5F39) is no more than its noun, the chance in hundreds; a player's action runs when its verb is the one typed and its noun is the one typed or 0. With the tester's P on ($1F14 = 1), print \" PSBL: \" and the action's number","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23424,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23426,"t":"code","b":[133,104],"m":"sta","oa":104,"o":"action_noun"},{"a":23428,"t":"code","b":[165,95],"m":"lda","oa":95,"o":"verb"},{"a":23430,"t":"code","b":[208,4],"m":"bne","oa":23436,"o":"b_5B8C"},{"a":23432,"t":"code","b":[165,105],"m":"lda","oa":105,"o":"action_verb"},{"a":23434,"t":"code","b":[208,215],"m":"bne","oa":23395,"o":"r_5B63"},{"a":23436,"l":"b_5B8C","t":"code","b":[165,103],"m":"lda","oa":103,"x":[23430],"o":"continue_flag"},{"a":23438,"t":"code","b":[240,14],"m":"beq","oa":23454,"o":"b_5B9E"},{"a":23440,"t":"code","b":[165,104],"m":"lda","oa":104,"o":"action_noun"},{"a":23442,"t":"code","b":[208,4],"m":"bne","oa":23448,"o":"b_5B98"},{"a":23444,"t":"code","b":[165,105],"m":"lda","oa":105,"o":"action_verb"},{"a":23446,"t":"code","b":[240,71],"m":"beq","oa":23519,"o":"test_conditions"},{"a":23448,"l":"b_5B98","t":"code","b":[165,95],"m":"lda","oa":95,"x":[23442],"o":"verb"},{"a":23450,"t":"code","b":[208,199],"m":"bne","oa":23395,"o":"r_5B63"},{"a":23452,"t":"code","b":[133,103],"m":"sta","oa":103,"o":"continue_flag"},{"a":23454,"l":"b_5B9E","t":"code","b":[165,95],"m":"lda","oa":95,"x":[23438],"o":"verb"},{"a":23456,"t":"code","b":[197,105],"m":"cmp","oa":105,"o":"action_verb"},{"a":23458,"t":"code","b":[208,17],"m":"bne","oa":23477,"o":"b_5BB5"},{"a":23460,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":23462,"t":"code","b":[208,16],"m":"bne","oa":23480,"o":"b_5BB8"},{"a":23464,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":23466,"t":"code","b":[133,99],"m":"sta","oa":99,"o":"line_not_taken"},{"a":23468,"t":"code","b":[32,57,95],"m":"jsr","oa":24377,"o":"random_100"},{"a":23471,"t":"code","b":[197,104],"m":"cmp","oa":104,"o":"action_noun"},{"a":23473,"t":"code","b":[240,44],"m":"beq","oa":23519,"o":"test_conditions"},{"a":23475,"t":"code","b":[144,42],"m":"bcc","oa":23519,"o":"test_conditions"},{"a":23477,"l":"b_5BB5","t":"code","b":[76,46,91],"m":"jmp","oa":23342,"x":[23458,23488],"o":"next_action"},{"a":23480,"l":"b_5BB8","t":"code","b":[165,104],"m":"lda","oa":104,"x":[23462],"o":"action_noun"},{"a":23482,"t":"code","b":[197,97],"m":"cmp","oa":97,"o":"noun"},{"a":23484,"t":"code","b":[240,4],"m":"beq","oa":23490,"o":"b_5BC2"},{"a":23486,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":23488,"t":"code","b":[208,243],"m":"bne","oa":23477,"o":"b_5BB5"},{"a":23490,"l":"b_5BC2","t":"code","b":[173,20,31],"m":"lda","oa":7956,"x":[23484],"o":"tester_mode"},{"a":23493,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":23495,"t":"code","b":[208,22],"m":"bne","oa":23519,"o":"test_conditions"},{"a":23497,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23500,"c":"The text \" PSBL: \" ($5D92), the tester's mark of an action that fits","t":"addr","b":[146,93],"oa":23954,"o":"txt_psbl"},{"a":23502,"c":"Print it and the action's number, then test the conditions","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":23505,"t":"code","b":[32,147,84],"m":"jsr","oa":21651,"o":"push_ix_slot"},{"a":23508,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":23511,"t":"code","b":[32,72,84],"m":"jsr","oa":21576,"o":"PUTNUM"},{"a":23514,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":23516,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":23519,"l":"test_conditions","c":"Test the action's five conditions. Each is a word in its own column (IY walks the column addresses from $803C): value x 20 + type. The type picks a handler from the condition table at $6118; the handler gets the location of the item the value numbers in A, HL pointing at the current room, the value in DE and X = $FF, and clears X to say false. $65 keeps the AND of them all","t":"code","b":[169,0],"m":"lda","x":[23446,23473,23475,23495],"o":"#$00"},{"a":23521,"c":"This action fits: $63 = 0, and $65 and $66 = $FF","t":"code","b":[133,99],"m":"sta","oa":99,"o":"line_not_taken"},{"a":23523,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":23525,"t":"code","b":[133,101],"m":"sta","oa":101,"o":"conds_passed"},{"a":23527,"t":"code","b":[133,102],"m":"sta","oa":102,"o":"action_fitted"},{"a":23529,"t":"code","b":[169,60],"m":"lda","o":"#$3C"},{"a":23531,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":23533,"t":"code","b":[169,128],"m":"lda","o":"#$80"},{"a":23535,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"reg_iy_hi"},{"a":23537,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":23539,"l":"j_5BF3","t":"code","b":[160,0],"m":"ldy","x":[23695],"o":"#$00"},{"a":23541,"t":"code","b":[177,86],"m":"lda","oa":86,"o":"(reg_iy),y"},{"a":23543,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":23545,"t":"code","b":[200],"m":"iny"},{"a":23546,"t":"code","b":[177,86],"m":"lda","oa":86,"o":"(reg_iy),y"},{"a":23548,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23550,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":23553,"t":"code","b":[32,147,84],"m":"jsr","oa":21651,"o":"push_ix_slot"},{"a":23556,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":23559,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":23562,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23565,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":23568,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23571,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23573,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":23575,"t":"code","b":[136],"m":"dey"},{"a":23576,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23578,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":23580,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23583,"c":"20, the divisor that splits a condition word into value and type","t":"word","b":[20,0],"d":[20]},{"a":23585,"c":"Split it, then look up the type's handler","t":"code","b":[32,33,84],"m":"jsr","oa":21537,"o":"divide_slot"},{"a":23588,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":23591,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":23594,"t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":23597,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":23600,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":23603,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23606,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":23609,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":23612,"c":"$540D, the operand of the slot at $540C, which points on to the JMP at $610C; its operand is the condition table's address","t":"addr","b":[13,84],"oa":21517,"o":"cond_table_ptr"},{"a":23614,"c":"Follow it to the table ($6118), and take the type's handler into the condition stub's operand ($6E)","t":"code","b":[200],"m":"iny"},{"a":23615,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23617,"t":"code","b":[72],"m":"pha"},{"a":23618,"t":"code","b":[200],"m":"iny"},{"a":23619,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23621,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23623,"t":"code","b":[104],"m":"pla"},{"a":23624,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":23626,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":23628,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23631,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":23634,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23636,"t":"code","b":[133,110],"m":"sta","oa":110,"o":"cond_stub_lo"},{"a":23638,"t":"code","b":[200],"m":"iny"},{"a":23639,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23641,"t":"code","b":[133,111],"m":"sta","oa":111,"o":"cond_stub_hi"},{"a":23643,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":23646,"c":"The pointer at $1C3A to the item locations, to find the location of the item the value numbers","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":23648,"c":"A = that item's location","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23651,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23654,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":23656,"t":"code","b":[138],"m":"txa"},{"a":23657,"t":"code","b":[72],"m":"pha"},{"a":23658,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23660,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23663,"c":"HL = $1C22, the address of the current room, for the handler to compare with","t":"addr","b":[34,28],"oa":7202,"o":"room"},{"a":23665,"c":"Call the handler through the stub at $6D; a false clears $65, and a false ends the action. After five, the commands","t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":23667,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":23669,"t":"code","b":[32,109,0],"m":"jsr","oa":109,"o":"cond_stub"},{"a":23672,"t":"code","b":[138],"m":"txa"},{"a":23673,"t":"code","b":[37,101],"m":"and","oa":101,"o":"conds_passed"},{"a":23675,"t":"code","b":[133,101],"m":"sta","oa":101,"o":"conds_passed"},{"a":23677,"t":"code","b":[104],"m":"pla"},{"a":23678,"t":"code","b":[170],"m":"tax"},{"a":23679,"t":"code","b":[32,159,84],"m":"jsr","oa":21663,"o":"inc_iy_slot"},{"a":23682,"t":"code","b":[32,159,84],"m":"jsr","oa":21663,"o":"inc_iy_slot"},{"a":23685,"t":"code","b":[165,101],"m":"lda","oa":101,"o":"conds_passed"},{"a":23687,"t":"code","b":[208,3],"m":"bne","oa":23692,"o":"b_5C8C"},{"a":23689,"t":"code","b":[76,46,91],"m":"jmp","oa":23342,"o":"next_action"},{"a":23692,"l":"b_5C8C","t":"code","b":[202],"m":"dex","x":[23687]},{"a":23693,"t":"code","b":[240,3],"m":"beq","oa":23698,"o":"conditions_passed"},{"a":23695,"t":"code","b":[76,243,91],"m":"jmp","oa":23539,"o":"j_5BF3"},{"a":23698,"l":"conditions_passed","c":"All five passed: with the tester on ($1F14 not 0), print \" DID: \" and the action's number","t":"code","b":[173,20,31],"m":"lda","oa":7956,"x":[23693],"o":"tester_mode"},{"a":23701,"t":"code","b":[240,22],"m":"beq","oa":23725,"o":"run_commands"},{"a":23703,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23706,"c":"The text \" DID: \" ($5D8B), the tester's mark of an action that runs","t":"addr","b":[139,93],"oa":23947,"o":"txt_did"},{"a":23708,"c":"Print it and the number, then run the commands","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":23711,"t":"code","b":[32,147,84],"m":"jsr","oa":21651,"o":"push_ix_slot"},{"a":23714,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":23717,"t":"code","b":[32,72,84],"m":"jsr","oa":21576,"o":"PUTNUM"},{"a":23720,"t":"code","b":[169,13],"m":"lda","o":"#$0D"},{"a":23722,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":23725,"l":"run_commands","c":"Run the action's four commands. $46 (the next parameter, for $6418) goes back to 0; IY walks the command columns from $8034","t":"code","b":[169,0],"m":"lda","x":[23701],"o":"#$00"},{"a":23727,"t":"code","b":[133,70],"m":"sta","oa":70,"o":"param_slot"},{"a":23729,"t":"code","b":[133,71],"m":"sta","oa":71,"o":"param_slot_hi"},{"a":23731,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23734,"c":"$8034, the address where the database keeps the addresses of the four command columns","t":"addr","b":[52,128],"oa":32820,"o":"db_action_commands"},{"a":23736,"c":"Read command n of action IX: 0 does nothing, 1 to 51 prints that message, 52 to 101 runs command handler n - 52, 102 and up print message n - 50","t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":23739,"t":"code","b":[32,156,84],"m":"jsr","oa":21660,"o":"pull_iy_slot"},{"a":23742,"t":"code","b":[162,4],"m":"ldx","o":"#$04"},{"a":23744,"l":"j_5CC0","t":"code","b":[160,0],"m":"ldy","x":[23879],"o":"#$00"},{"a":23746,"t":"code","b":[177,86],"m":"lda","oa":86,"o":"(reg_iy),y"},{"a":23748,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":23750,"t":"code","b":[200],"m":"iny"},{"a":23751,"t":"code","b":[177,86],"m":"lda","oa":86,"o":"(reg_iy),y"},{"a":23753,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23755,"t":"code","b":[32,147,84],"m":"jsr","oa":21651,"o":"push_ix_slot"},{"a":23758,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":23761,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23764,"t":"code","b":[136],"m":"dey"},{"a":23765,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23767,"t":"code","b":[240,101],"m":"beq","oa":23870,"o":"next_command"},{"a":23769,"t":"code","b":[48,8],"m":"bmi","oa":23779,"o":"b_5CE3"},{"a":23771,"t":"code","b":[201,52],"m":"cmp","o":"#$34"},{"a":23773,"t":"code","b":[48,7],"m":"bmi","oa":23782,"o":"b_5CE6"},{"a":23775,"t":"code","b":[201,102],"m":"cmp","o":"#$66"},{"a":23777,"t":"code","b":[48,44],"m":"bmi","oa":23823,"o":"run_handler"},{"a":23779,"l":"b_5CE3","t":"code","b":[56],"m":"sec","x":[23769]},{"a":23780,"t":"code","b":[233,50],"m":"sbc","o":"#$32"},{"a":23782,"l":"b_5CE6","t":"code","b":[133,82],"m":"sta","oa":82,"x":[23773],"o":"reg_bc"},{"a":23784,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":23786,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":23788,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":23791,"c":"The address of the message table, from $8054: one word for each message","t":"addr","b":[84,128],"oa":32852,"o":"db_messages"},{"a":23793,"c":"Print the message ($5442) and a space","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23796,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23799,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":23801,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23803,"t":"code","b":[72],"m":"pha"},{"a":23804,"t":"code","b":[200],"m":"iny"},{"a":23805,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23807,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23809,"t":"code","b":[104],"m":"pla"},{"a":23810,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":23812,"t":"code","b":[32,66,84],"m":"jsr","oa":21570,"o":"PUTS"},{"a":23815,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":23817,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":23820,"t":"code","b":[76,62,93],"m":"jmp","oa":23870,"o":"next_command"},{"a":23823,"l":"run_handler","c":"A command, 52 to 101: subtract 52 to find its handler","t":"code","b":[56],"m":"sec","x":[23777]},{"a":23824,"t":"code","b":[233,52],"m":"sbc","o":"#$34"},{"a":23826,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":23828,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":23830,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":23832,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":23835,"c":"$542B, the operand of the slot at $542A, which points on to the JMP at $5503; its operand is the handler table's address","t":"addr","b":[43,84],"oa":21547,"o":"handler_table_ptr"},{"a":23837,"c":"Follow it to the table ($550F), take the handler into the action stub's operand ($6B) and call it through $6A","t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":23839,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23841,"t":"code","b":[72],"m":"pha"},{"a":23842,"t":"code","b":[200],"m":"iny"},{"a":23843,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23845,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":23847,"t":"code","b":[104],"m":"pla"},{"a":23848,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":23850,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23853,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":23856,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":23858,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23860,"t":"code","b":[133,107],"m":"sta","oa":107,"o":"cmd_stub_lo"},{"a":23862,"t":"code","b":[200],"m":"iny"},{"a":23863,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":23865,"t":"code","b":[133,108],"m":"sta","oa":108,"o":"cmd_stub_hi"},{"a":23867,"t":"code","b":[32,106,0],"m":"jsr","oa":106,"o":"cmd_stub"},{"a":23870,"l":"next_command","c":"The next column; after four, the action is done","t":"code","b":[32,159,84],"m":"jsr","oa":21663,"x":[23767,23820],"o":"inc_iy_slot"},{"a":23873,"t":"code","b":[32,159,84],"m":"jsr","oa":21663,"o":"inc_iy_slot"},{"a":23876,"t":"code","b":[202],"m":"dex"},{"a":23877,"t":"code","b":[240,3],"m":"beq","oa":23882,"o":"end_action"},{"a":23879,"t":"code","b":[76,192,92],"m":"jmp","oa":23744,"o":"j_5CC0"},{"a":23882,"l":"end_action","c":"One action has run. With the continue flag set ($67), or among the automatic actions, go on to the next action; after a player's action, end the scan","t":"code","b":[165,103],"m":"lda","oa":103,"x":[23299,23877],"o":"continue_flag"},{"a":23884,"t":"code","b":[240,3],"m":"beq","oa":23889,"o":"b_5D51"},{"a":23886,"l":"b_5D4E","t":"code","b":[76,46,91],"m":"jmp","oa":23342,"x":[23891],"o":"next_action"},{"a":23889,"l":"b_5D51","t":"code","b":[165,95],"m":"lda","oa":95,"x":[23884],"o":"verb"},{"a":23891,"t":"code","b":[240,249],"m":"beq","oa":23886,"o":"b_5D4E"},{"a":23893,"t":"code","b":[76,68,91],"m":"jmp","oa":23364,"o":"end_of_actions"},{"a":23896,"l":"txt_i_dont_understand_you","c":"Text \" I don't(newline) understand you(newline)\", zero-terminated; referred to at $5B4B","t":"byte","b":[32,73,32,100,111,110,39,116],"x":[23374]},{"a":23904,"t":"byte","b":[13,32,117,110,100,101,114,115]},{"a":23912,"t":"byte","b":[116,97,110,100,32,121,111,117]},{"a":23920,"t":"byte","b":[13,0]},{"a":23922,"l":"txt_cant_do_that_yet","c":"Text \"(newline)Can't do that... YET!(newline)(newline)\", zero-terminated; referred to at $5B57","t":"byte","b":[13,67,97,110,39,116,32,100],"x":[23386]},{"a":23930,"t":"byte","b":[111,32,116,104,97,116,46,46]},{"a":23938,"t":"byte","b":[46,32,89,69,84,33,13,13]},{"a":23946,"t":"byte","b":[0]},{"a":23947,"l":"txt_did","c":"Text \" DID: \", zero-terminated; referred to at $5C97","t":"byte","b":[32,68,73,68,58,32,0],"x":[23706]},{"a":23954,"l":"txt_psbl","c":"Text \" PSBL: \", zero-terminated; referred to at $5BC9","t":"byte","b":[32,80,83,66,76,58,32,0],"x":[23500]},{"a":23962,"l":"auto_get_drop","c":"GET and DROP of an item by name, when the verb is 10 (GET) or 18 (DROP) and no action fitted the verb and noun ($66 = 0). No noun: \" HUH?\". GET with the hands full (the maximum, $8072, carried already): \"Got too much.\" Otherwise search every item's description for the noun between slashes (\"*Gem/GEM/\"): GET takes one in this room (\"O K\", or \"Already have it\", \"Don't see it here!\"); DROP leaves one carried (\"O K\", or \"Not carrying it!\"). When none matches, \"Beyond my power to do that\"","t":"code","b":[165,95],"m":"lda","oa":95,"x":[23368],"o":"verb"},{"a":23964,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":23966,"t":"code","b":[240,5],"m":"beq","oa":23973,"o":"b_5DA5"},{"a":23968,"t":"code","b":[201,18],"m":"cmp","o":"#$12"},{"a":23970,"t":"code","b":[240,1],"m":"beq","oa":23973,"o":"b_5DA5"},{"a":23972,"l":"r_5DA4","t":"code","b":[96],"m":"rts","x":[23975]},{"a":23973,"l":"b_5DA5","t":"code","b":[165,102],"m":"lda","oa":102,"x":[23966,23970],"o":"action_fitted"},{"a":23975,"t":"code","b":[208,251],"m":"bne","oa":23972,"o":"r_5DA4"},{"a":23977,"t":"code","b":[165,97],"m":"lda","oa":97,"o":"noun"},{"a":23979,"t":"code","b":[208,11],"m":"bne","oa":23992,"o":"b_5DB8"},{"a":23981,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":23984,"c":"The text \" HUH?\" ($5ED7)","t":"addr","b":[215,94],"oa":24279,"o":"txt_huh"},{"a":23986,"c":"Print it. For GET, count what is carried and refuse if the hands are full","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":23989,"t":"code","b":[76,152,94],"m":"jmp","oa":24216,"o":"j_5E98"},{"a":23992,"l":"b_5DB8","t":"code","b":[165,95],"m":"lda","oa":95,"x":[23979],"o":"verb"},{"a":23994,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":23996,"t":"code","b":[208,17],"m":"bne","oa":24015,"o":"search_items"},{"a":23998,"t":"code","b":[32,162,84],"m":"jsr","oa":21666,"o":"count_carried_slot"},{"a":24001,"t":"code","b":[172,114,128],"m":"ldy","oa":32882,"o":"db_max_carry"},{"a":24004,"t":"code","b":[136],"m":"dey"},{"a":24005,"t":"code","b":[196,82],"m":"cpy","oa":82,"o":"reg_bc"},{"a":24007,"t":"code","b":[16,6],"m":"bpl","oa":24015,"o":"search_items"},{"a":24009,"t":"code","b":[32,30,84],"m":"jsr","oa":21534,"o":"too_much_slot"},{"a":24012,"t":"code","b":[76,152,94],"m":"jmp","oa":24216,"o":"j_5E98"},{"a":24015,"l":"search_items","c":"Search the items for the noun; $1EA1 remembers why the last one failed","t":"code","b":[169,0],"m":"lda","x":[23996,24007],"o":"#$00"},{"a":24017,"t":"code","b":[141,161,30],"m":"sta","oa":7841,"o":"get_drop_why"},{"a":24020,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":24023,"c":"The number of items, from $807D, as the loop count in BC","t":"addr","b":[125,128],"oa":32893,"o":"db_item_text_size"},{"a":24025,"c":"BC counts the items down","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":24028,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":24031,"c":"The address of the item-description table, from $8058","t":"addr","b":[88,128],"oa":32856,"o":"db_item_texts"},{"a":24033,"c":"Step through the descriptions one character at a time; a description's '/' starts the word GET and DROP match. When BC runs out, report","t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":24035,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":24037,"t":"code","b":[200],"m":"iny"},{"a":24038,"t":"code","b":[72],"m":"pha"},{"a":24039,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":24041,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":24043,"t":"code","b":[104],"m":"pla"},{"a":24044,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":24046,"l":"b_5DEE","t":"code","b":[32,78,84],"m":"jsr","oa":21582,"x":[24103,24115,24171],"o":"INCHL"},{"a":24049,"t":"code","b":[32,96,84],"m":"jsr","oa":21600,"o":"DECBC"},{"a":24052,"t":"code","b":[165,83],"m":"lda","oa":83,"o":"reg_bc_hi"},{"a":24054,"t":"code","b":[48,6],"m":"bmi","oa":24062,"o":"b_5DFE"},{"a":24056,"t":"code","b":[208,7],"m":"bne","oa":24065,"o":"b_5E01"},{"a":24058,"t":"code","b":[197,82],"m":"cmp","oa":82,"o":"reg_bc"},{"a":24060,"t":"code","b":[208,3],"m":"bne","oa":24065,"o":"b_5E01"},{"a":24062,"l":"b_5DFE","t":"code","b":[76,157,94],"m":"jmp","oa":24221,"x":[24054],"o":"get_drop_failed"},{"a":24065,"l":"b_5E01","t":"code","b":[160,0],"m":"ldy","x":[24056,24060,24083],"o":"#$00"},{"a":24067,"t":"code","b":[169,47],"m":"lda","o":"#$2F"},{"a":24069,"t":"code","b":[209,78],"m":"cmp","oa":78,"o":"(reg_hl),y"},{"a":24071,"t":"code","b":[240,15],"m":"beq","oa":24088,"o":"match_item_word"},{"a":24073,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":24076,"t":"code","b":[32,96,84],"m":"jsr","oa":21600,"o":"DECBC"},{"a":24079,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"reg_bc"},{"a":24081,"t":"code","b":[5,83],"m":"ora","oa":83,"o":"reg_bc_hi"},{"a":24083,"t":"code","b":[208,236],"m":"bne","oa":24065,"o":"b_5E01"},{"a":24085,"t":"code","b":[76,157,94],"m":"jmp","oa":24221,"o":"get_drop_failed"},{"a":24088,"l":"match_item_word","c":"Compare the word after '/' with the noun's word at $1E70 (a synonym already replaced by its main word), as many letters as the database's word length ($8066), and then a closing '/'. A match gives the item's number in the byte after the slash","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"x":[24071],"o":"de_from_hl_slot"},{"a":24091,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":24094,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":24096,"l":"b_5E20","t":"code","b":[185,112,30],"m":"lda","oa":7792,"x":[24109],"o":"typed_word,y"},{"a":24099,"t":"code","b":[240,10],"m":"beq","oa":24111,"o":"b_5E2F"},{"a":24101,"t":"code","b":[209,80],"m":"cmp","oa":80,"o":"(reg_de),y"},{"a":24103,"t":"code","b":[208,197],"m":"bne","oa":24046,"o":"b_5DEE"},{"a":24105,"t":"code","b":[200],"m":"iny"},{"a":24106,"t":"code","b":[204,102,128],"m":"cpy","oa":32870,"o":"db_word_length"},{"a":24109,"t":"code","b":[48,241],"m":"bmi","oa":24096,"o":"b_5E20"},{"a":24111,"l":"b_5E2F","t":"code","b":[169,47],"m":"lda","x":[24099],"o":"#$2F"},{"a":24113,"t":"code","b":[209,80],"m":"cmp","oa":80,"o":"(reg_de),y"},{"a":24115,"t":"code","b":[208,185],"m":"bne","oa":24046,"o":"b_5DEE"},{"a":24117,"t":"code","b":[200],"m":"iny"},{"a":24118,"t":"code","b":[32,108,84],"m":"jsr","oa":21612,"o":"push_bc_slot"},{"a":24121,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":24124,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":24126,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":24128,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":24130,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":24132,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":24135,"c":"The pointer at $1C3A to the item locations, to find this item's","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":24137,"c":"DE points at the item's location. DROP: carried becomes this room. GET: here becomes carried ($FF); $1EA1 records 4 (carried already), 2 (not here) or 1 (DROP: not carried) and the search goes on","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":24140,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":24143,"t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":24146,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":24149,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":24152,"t":"code","b":[165,95],"m":"lda","oa":95,"o":"verb"},{"a":24154,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":24156,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":24158,"t":"code","b":[240,22],"m":"beq","oa":24182,"o":"b_5E76"},{"a":24160,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":24162,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":24164,"t":"code","b":[240,8],"m":"beq","oa":24174,"o":"b_5E6E"},{"a":24166,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":24168,"l":"b_5E68","t":"code","b":[141,161,30],"m":"sta","oa":7841,"x":[24190,24199],"o":"get_drop_why"},{"a":24171,"t":"code","b":[76,238,93],"m":"jmp","oa":24046,"o":"b_5DEE"},{"a":24174,"l":"b_5E6E","t":"code","b":[173,34,28],"m":"lda","oa":7202,"x":[24164],"o":"room"},{"a":24177,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":24179,"t":"code","b":[76,141,94],"m":"jmp","oa":24205,"o":"said_ok"},{"a":24182,"l":"b_5E76","t":"code","b":[177,80],"m":"lda","oa":80,"x":[24158],"o":"(reg_de),y"},{"a":24184,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":24186,"t":"code","b":[208,4],"m":"bne","oa":24192,"o":"b_5E80"},{"a":24188,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":24190,"t":"code","b":[208,232],"m":"bne","oa":24168,"o":"b_5E68"},{"a":24192,"l":"b_5E80","t":"code","b":[205,34,28],"m":"cmp","oa":7202,"x":[24186],"o":"room"},{"a":24195,"t":"code","b":[240,4],"m":"beq","oa":24201,"o":"b_5E89"},{"a":24197,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":24199,"t":"code","b":[208,223],"m":"bne","oa":24168,"o":"b_5E68"},{"a":24201,"l":"b_5E89","t":"code","b":[169,255],"m":"lda","x":[24195],"o":"#$FF"},{"a":24203,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":24205,"l":"said_ok","c":"Done: print \"O K\" and owe the picture","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[24179],"o":"SETHLI"},{"a":24208,"c":"The text \"O K\" ($5EDE)","t":"addr","b":[222,94],"oa":24286,"o":"txt_o_k"},{"a":24210,"c":"Print it; $63 = 0, so the interpreter says nothing more","t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":24213,"t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24216,"l":"j_5E98","t":"code","b":[169,0],"m":"lda","x":[23989,24012,24262,24276],"o":"#$00"},{"a":24218,"t":"code","b":[133,99],"m":"sta","oa":99,"o":"line_not_taken"},{"a":24220,"l":"r_5E9C","t":"code","b":[96],"m":"rts","x":[24266]},{"a":24221,"l":"get_drop_failed","c":"No item would do: say why, from $1EA1","t":"code","b":[173,161,30],"m":"lda","oa":7841,"x":[24062,24085],"o":"get_drop_why"},{"a":24224,"t":"code","b":[201,1],"m":"cmp","o":"#$01"},{"a":24226,"t":"code","b":[208,8],"m":"bne","oa":24236,"o":"b_5EAC"},{"a":24228,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24231,"c":"The text \" Not carrying it!\" ($5EE3), for code 1","t":"addr","b":[227,94],"oa":24291,"o":"txt_not_carrying_it"},{"a":24233,"c":"Print it for code 1","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24236,"l":"b_5EAC","t":"code","b":[201,2],"m":"cmp","x":[24226],"o":"#$02"},{"a":24238,"t":"code","b":[208,8],"m":"bne","oa":24248,"o":"b_5EB8"},{"a":24240,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24243,"c":"The text \"Don't see it here!\" ($5EF7), for code 2","t":"addr","b":[247,94],"oa":24311,"o":"txt_dont_see_it_here"},{"a":24245,"c":"Print it for code 2","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24248,"l":"b_5EB8","t":"code","b":[201,4],"m":"cmp","x":[24238],"o":"#$04"},{"a":24250,"t":"code","b":[208,8],"m":"bne","oa":24260,"o":"b_5EC4"},{"a":24252,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24255,"c":"The text \"Already have it\" ($5F0C), for code 4","t":"addr","b":[12,95],"oa":24332,"o":"txt_already_have_it"},{"a":24257,"c":"Print it for code 4, or for none","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24260,"l":"b_5EC4","t":"code","b":[201,0],"m":"cmp","x":[24250],"o":"#$00"},{"a":24262,"t":"code","b":[208,208],"m":"bne","oa":24216,"o":"j_5E98"},{"a":24264,"t":"code","b":[165,102],"m":"lda","oa":102,"o":"action_fitted"},{"a":24266,"t":"code","b":[208,208],"m":"bne","oa":24220,"o":"r_5E9C"},{"a":24268,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24271,"c":"The text \"Beyond my power to do that\" ($5F1D), when no item has the noun","t":"addr","b":[29,95],"oa":24349,"o":"txt_beyond_my_power_to"},{"a":24273,"c":"Print it unless an action fitted","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24276,"t":"code","b":[76,152,94],"m":"jmp","oa":24216,"o":"j_5E98"},{"a":24279,"l":"txt_huh","c":"Text \" HUH?(newline)\", zero-terminated; referred to at $5DAD","t":"byte","b":[32,72,85,72,63,13,0],"x":[23984]},{"a":24286,"l":"txt_o_k","c":"Text \"O K(newline)\", zero-terminated; referred to at $5E8D, $5FEF","t":"byte","b":[79,32,75,13,0],"x":[24208,24562]},{"a":24291,"l":"txt_not_carrying_it","c":"Text \"(newline) Not carrying it!(newline)\", zero-terminated; referred to at $5EA4","t":"byte","b":[13,32,78,111,116,32,99,97],"x":[24231]},{"a":24299,"t":"byte","b":[114,114,121,105,110,103,32,105]},{"a":24307,"t":"byte","b":[116,33,13,0]},{"a":24311,"l":"txt_dont_see_it_here","c":"Text \"(newline)Don't see it here!(newline)\", zero-terminated; referred to at $5EB0","t":"byte","b":[13,68,111,110,39,116,32,115],"x":[24243]},{"a":24319,"t":"byte","b":[101,101,32,105,116,32,104,101]},{"a":24327,"t":"byte","b":[114,101,33,13,0]},{"a":24332,"l":"txt_already_have_it","c":"Text \"Already have it(newline)\", zero-terminated; referred to at $5EBC","t":"byte","b":[65,108,114,101,97,100,121,32],"x":[24255]},{"a":24340,"t":"byte","b":[104,97,118,101,32,105,116,13]},{"a":24348,"t":"byte","b":[0]},{"a":24349,"l":"txt_beyond_my_power_to","c":"Text \"Beyond my power to do that(newline)\", zero-terminated; referred to at $5ECC","t":"byte","b":[66,101,121,111,110,100,32,109],"x":[24271]},{"a":24357,"t":"byte","b":[121,32,112,111,119,101,114,32]},{"a":24365,"t":"byte","b":[116,111,32,100,111,32,116,104]},{"a":24373,"t":"byte","b":[97,116,13,0]},{"a":24377,"l":"random_100","c":"A number from 1 to 100 for the automatic actions' chances: the raster line ($D012) added to a running total ($1F17), which also moves on each time the keyboard is polled while the game waits for a line and with each character typed, then reduced by 100 until it is under 100, plus 1","t":"code","b":[173,23,31],"m":"lda","oa":7959,"x":[23468],"o":"random_total"},{"a":24380,"t":"code","b":[24],"m":"clc"},{"a":24381,"t":"code","b":[109,18,208],"m":"adc","o":"vic_raster"},{"a":24384,"t":"code","b":[141,23,31],"m":"sta","oa":7959,"o":"random_total"},{"a":24387,"l":"b_5F43","t":"code","b":[201,100],"m":"cmp","x":[24394],"o":"#$64"},{"a":24389,"t":"code","b":[144,6],"m":"bcc","oa":24397,"o":"b_5F4D"},{"a":24391,"t":"code","b":[56],"m":"sec"},{"a":24392,"t":"code","b":[233,100],"m":"sbc","o":"#$64"},{"a":24394,"t":"code","b":[208,247],"m":"bne","oa":24387,"o":"b_5F43"},{"a":24396,"t":"code","b":[24],"m":"clc"},{"a":24397,"l":"b_5F4D","t":"code","b":[105,1],"m":"adc","x":[24389],"o":"#$01"},{"a":24399,"t":"code","b":[96],"m":"rts"},{"a":24400,"l":"move","c":"GO in a direction (noun 1 to 6: north, south, east, west, up, down). In the dark ($1C11 set) with the light (item 9) neither carried nor here, warn \"Dangerous to move in the dark!\" first. No direction: \"I also need a direction\". The exit is the byte for this room in the direction's column ($8048 + 2 x (noun - 1)); 0 means no way, and in the dark that is a fall: \"Fell & broke my neck!\", and the player goes to limbo ($8070). Otherwise move, describe the new room and print \"O K\"","t":"code","b":[169,0],"m":"lda","x":[23332],"o":"#$00"},{"a":24402,"t":"code","b":[141,161,30],"m":"sta","oa":7841,"o":"get_drop_why"},{"a":24405,"t":"code","b":[173,17,28],"m":"lda","oa":7185,"o":"flag_dark"},{"a":24408,"t":"code","b":[240,29],"m":"beq","oa":24439,"o":"b_5F77"},{"a":24410,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":24413,"c":"The pointer at $1C3A to the item locations, to check item 9, the light","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":24415,"c":"Item 9 neither carried nor here: warn","t":"code","b":[160,18],"m":"ldy","o":"#$12"},{"a":24417,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":24419,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":24421,"t":"code","b":[240,16],"m":"beq","oa":24439,"o":"b_5F77"},{"a":24423,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":24426,"t":"code","b":[240,11],"m":"beq","oa":24439,"o":"b_5F77"},{"a":24428,"t":"code","b":[140,161,30],"m":"sty","oa":7841,"o":"get_drop_why"},{"a":24431,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24434,"c":"The text \"Dangerous to move in the dark!\" ($601A)","t":"addr","b":[26,96],"oa":24602,"o":"txt_dangerous_to_move_in"},{"a":24436,"c":"Print it, then check for a direction","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24439,"l":"b_5F77","t":"code","b":[165,97],"m":"lda","oa":97,"x":[24408,24421,24426],"o":"noun"},{"a":24441,"t":"code","b":[56],"m":"sec"},{"a":24442,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":24444,"t":"code","b":[16,11],"m":"bpl","oa":24457,"o":"b_5F89"},{"a":24446,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24449,"c":"The text \" I also need a direction\" ($603A)","t":"addr","b":[58,96],"oa":24634,"o":"txt_i_also_need_a"},{"a":24451,"c":"Print it and return. Otherwise find the direction's exit column","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24454,"t":"code","b":[76,247,95],"m":"jmp","oa":24567,"o":"r_5FF7"},{"a":24457,"l":"b_5F89","t":"code","b":[133,78],"m":"sta","oa":78,"x":[24444],"o":"reg_hl"},{"a":24459,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":24461,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":24463,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":24466,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":24469,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":24472,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24475,"c":"$8048, where the database keeps the addresses of the six exit columns, north first","t":"addr","b":[72,128],"oa":32840,"o":"db_exits"},{"a":24477,"c":"Read the column's address into BC","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":24480,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":24482,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":24484,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":24486,"t":"code","b":[200],"m":"iny"},{"a":24487,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":24489,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":24491,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":24494,"c":"The current room, from $1C22, as a word","t":"addr","b":[34,28],"oa":7202,"o":"room"},{"a":24496,"c":"HL = column + room; the exit is the byte at HL + room, two bytes a room","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":24499,"t":"code","b":[172,34,28],"m":"ldy","oa":7202,"o":"room"},{"a":24502,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":24504,"t":"code","b":[208,44],"m":"bne","oa":24550,"o":"move_to_room"},{"a":24506,"t":"code","b":[174,161,30],"m":"ldx","oa":7841,"o":"get_drop_why"},{"a":24509,"t":"code","b":[208,11],"m":"bne","oa":24522,"o":"b_5FCA"},{"a":24511,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24514,"c":"The text \"Can't go that way\" ($6055)","t":"addr","b":[85,96],"oa":24661,"o":"txt_cant_go_that_way"},{"a":24516,"c":"Print it when it is light","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24519,"t":"code","b":[76,247,95],"m":"jmp","oa":24567,"o":"r_5FF7"},{"a":24522,"l":"b_5FCA","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[24509],"o":"SETHLI"},{"a":24525,"c":"The text \"Fell & broke my neck!\" ($5FF8)","t":"addr","b":[248,95],"oa":24568,"o":"txt_fell_broke_my_neck"},{"a":24527,"c":"Print it, then the dark is gone, the player is in limbo, and the room is described","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24530,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":24532,"t":"code","b":[141,17,28],"m":"sta","oa":7185,"o":"flag_dark"},{"a":24535,"t":"code","b":[173,112,128],"m":"lda","oa":32880,"o":"db_limbo"},{"a":24538,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":24541,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":24544,"t":"code","b":[32,21,84],"m":"jsr","oa":21525,"o":"look_slot"},{"a":24547,"t":"code","b":[76,247,95],"m":"jmp","oa":24567,"o":"r_5FF7"},{"a":24550,"l":"move_to_room","c":"Move: the new room, described, its picture owed, and \"O K\"","t":"code","b":[141,34,28],"m":"sta","oa":7202,"x":[24504],"o":"room"},{"a":24553,"t":"code","b":[32,21,84],"m":"jsr","oa":21525,"o":"look_slot"},{"a":24556,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":24559,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":24562,"c":"The text \"O K\" ($5EDE) after a move","t":"addr","b":[222,94],"oa":24286,"o":"txt_o_k"},{"a":24564,"c":"Print \"O K\" after the move","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":24567,"l":"r_5FF7","t":"code","b":[96],"m":"rts","x":[24454,24519,24547]},{"a":24568,"l":"txt_fell_broke_my_neck","c":"Text \"Fell & broke my neck!(newline)\", zero-terminated; referred to at $5FCA","t":"byte","b":[70,101,108,108,32,38,32,98],"x":[24525]},{"a":24576,"t":"byte","b":[114,111,107,101,32,109,121,32]},{"a":24584,"t":"byte","b":[110,101,99,107,33,13,0]},{"a":24591,"l":"txt_im_dead_2","c":"Text \"I'm DEAD!(newline)\", zero-terminated; nothing refers to it (the death command prints its own, $577A)","t":"byte","b":[73,39,109,32,68,69,65,68]},{"a":24599,"t":"byte","b":[33,13,0]},{"a":24602,"l":"txt_dangerous_to_move_in","c":"Text \"Dangerous to move in the dark!(newline)\", zero-terminated; referred to at $5F6F","t":"byte","b":[68,97,110,103,101,114,111,117],"x":[24434]},{"a":24610,"t":"byte","b":[115,32,116,111,32,109,111,118]},{"a":24618,"t":"byte","b":[101,32,105,110,32,116,104,101]},{"a":24626,"t":"byte","b":[32,100,97,114,107,33,13,0]},{"a":24634,"l":"txt_i_also_need_a","c":"Text \"(newline) I also need a direction(newline)\", zero-terminated; referred to at $5F7E","t":"byte","b":[13,32,73,32,97,108,115,111],"x":[24449]},{"a":24642,"t":"byte","b":[32,110,101,101,100,32,97,32]},{"a":24650,"t":"byte","b":[100,105,114,101,99,116,105,111]},{"a":24658,"t":"byte","b":[110,13,0]},{"a":24661,"l":"txt_cant_go_that_way","c":"Text \"Can't go that way(newline)\", zero-terminated; referred to at $5FBF","t":"byte","b":[67,97,110,39,116,32,103,111],"x":[24514]},{"a":24669,"t":"byte","b":[32,116,104,97,116,32,119,97]},{"a":24677,"t":"byte","b":[121,13,0]},{"a":24680,"l":"source_irq","c":"Another piece of the original assembler's source, about the raster interrupt: the comments \"IRQ OFF\" and \"NEW IR\", two zero bytes, \"ROUT\", and the names SETIRQ, OLDIRQ (twice) and IRQRTN among bytes of tokenised lines. The routine these lines made is at $6B23","t":"byte","b":[78,69,224,86,18,88,59,59]},{"a":24688,"t":"byte","b":[59,59,59,59,59,59,59,59]},{"a":24696,"t":"byte","b":[59,59,59,59,254,86,5,88]},{"a":24704,"t":"byte","b":[59,28,87,10,134,83,69,84]},{"a":24712,"t":"byte","b":[73,82,81,58,87,4,61,88]},{"a":24720,"t":"byte","b":[87,16,81,62,6,0,59,59]},{"a":24728,"t":"byte","b":[73,82,81,32,79,70,70,118]},{"a":24736,"t":"byte","b":[87,7,80,5,26,208,148,87]},{"a":24744,"t":"byte","b":[7,81,62,6,0,178,87,7]},{"a":24752,"t":"byte","b":[80,5,18,208,208,87,7,81]},{"a":24760,"t":"byte","b":[5,20,3,238,87,11,80,134]},{"a":24768,"t":"byte","b":[79,76,68,73,82,81,12,88]},{"a":24776,"t":"byte","b":[7,81,5,21,3,42,88,14]},{"a":24784,"t":"byte","b":[80,134,79,76,68,73,82,81]},{"a":24792,"t":"byte","b":[18,8,1,72,88,16,81,62]},{"a":24800,"t":"byte","b":[134,73,82,81,82,84,78,21]},{"a":24808,"t":"byte","b":[7,0,1,102,88,24,80,5]},{"a":24816,"t":"byte","b":[21,3,59,59,78,69,87,32]},{"a":24824,"t":"byte","b":[73,82,0,0,82,79,85,84]},{"a":24832,"l":"cond_module","c":"This module's table: describe the room ($62E6), inventory ($6238), next parameter ($6418), save ($646F), the condition table's address ($610C), print an item's name ($62AE). $610F and $6112 lead to a bare RTS and nothing calls them","t":"code","b":[76,230,98],"m":"jmp","oa":25318,"x":[21525],"o":"look"},{"a":24835,"l":"inventory_jmp","c":"Inventory: to $6238","t":"code","b":[76,56,98],"m":"jmp","oa":25144,"x":[21519],"o":"inventory"},{"a":24838,"l":"next_param_jmp","c":"Next parameter: to $6418","t":"code","b":[76,24,100],"m":"jmp","oa":25624,"x":[21528],"o":"next_param"},{"a":24841,"l":"save_game_jmp","c":"Save the game: to $646F","t":"code","b":[76,111,100],"m":"jmp","oa":25711,"x":[21513],"o":"save_game"},{"a":24844,"l":"cond_table_jmp","c":"Never run: its operand, $6118, is the address of the condition table, which the interpreter reads through the slot at $540C","t":"code","b":[76,24,97],"m":"jmp","oa":24856,"x":[21516],"o":"cond_handlers"},{"a":24847,"l":"unused_jmps","c":"Two slots that lead to $6140, a bare RTS; nothing calls either","t":"code","b":[76,64,97],"m":"jmp","oa":24896,"o":"cond_param"},{"a":24850,"t":"code","b":[76,64,97],"m":"jmp","oa":24896,"o":"cond_param"},{"a":24853,"l":"print_item_jmp","c":"Print an item's name: to $62AE","t":"code","b":[76,174,98],"m":"jmp","oa":25262,"x":[21522],"o":"print_item"},{"a":24856,"l":"cond_handlers","c":"The handler for each condition type, 0 to 19, a word each. A condition word in an action is value x 20 + type; each handler gets the location of the item the value numbers in A, HL pointing at the current room ($1C22), the value in DE and X = $FF, and clears X when the condition is false","t":"addr","b":[64,97],"oa":24896,"o":"cond_param","x":[24844]},{"a":24858,"t":"addr","b":[107,97],"oa":24939,"o":"cond_carried"},{"a":24860,"t":"addr","b":[127,97],"oa":24959,"o":"cond_here"},{"a":24862,"t":"addr","b":[140,97],"oa":24972,"o":"cond_available"},{"a":24864,"t":"addr","b":[154,97],"oa":24986,"o":"cond_in_room"},{"a":24866,"t":"addr","b":[177,97],"oa":25009,"o":"cond_not_here"},{"a":24868,"t":"addr","b":[197,97],"oa":25029,"o":"cond_not_carried"},{"a":24870,"t":"addr","b":[224,97],"oa":25056,"o":"cond_not_in_room"},{"a":24872,"t":"addr","b":[253,97],"oa":25085,"o":"cond_flag_set"},{"a":24874,"t":"addr","b":[4,98],"oa":25092,"o":"cond_flag_clear"},{"a":24876,"t":"addr","b":[65,97],"oa":24897,"o":"cond_carrying_any"},{"a":24878,"t":"addr","b":[69,97],"oa":24901,"o":"cond_carrying_none"},{"a":24880,"t":"addr","b":[113,97],"oa":24945,"o":"cond_not_available"},{"a":24882,"t":"addr","b":[134,97],"oa":24966,"o":"cond_exists"},{"a":24884,"t":"addr","b":[149,97],"oa":24981,"o":"cond_not_exists"},{"a":24886,"t":"addr","b":[161,97],"oa":24993,"o":"cond_counter_le"},{"a":24888,"t":"addr","b":[182,97],"oa":25014,"o":"cond_counter_gt"},{"a":24890,"t":"addr","b":[202,97],"oa":25034,"o":"cond_at_start"},{"a":24892,"t":"addr","b":[231,97],"oa":25063,"o":"cond_moved"},{"a":24894,"t":"addr","b":[13,98],"oa":25101,"o":"cond_counter_eq"},{"a":24896,"l":"cond_param","c":"Type 0: always true. Its value is not tested but read by the commands as a parameter ($6418)","t":"code","b":[96],"m":"rts","x":[24847,24850,24856]},{"a":24897,"l":"cond_carrying_any","c":"Type 10: true when the player carries anything. Looks for $FF among all the items' locations","t":"code","b":[162,255],"m":"ldx","x":[24876],"o":"#$FF"},{"a":24899,"t":"code","b":[208,2],"m":"bne","oa":24903,"o":"b_6147"},{"a":24901,"l":"cond_carrying_none","c":"Type 11: true when the player carries nothing","t":"code","b":[162,0],"m":"ldx","x":[24878],"o":"#$00"},{"a":24903,"l":"b_6147","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[24899],"o":"load_hl_slot"},{"a":24906,"c":"The pointer at $1C3A to the item locations, for the search","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":24908,"c":"Step through every item's location ($806C + 1 of them); an $FF answers at once","t":"code","b":[172,108,128],"m":"ldy","oa":32876,"o":"db_last_item"},{"a":24911,"t":"code","b":[134,82],"m":"stx","oa":82,"o":"reg_bc"},{"a":24913,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":24915,"l":"b_6153","t":"code","b":[161,78],"m":"lda","oa":78,"x":[24931],"o":"(reg_hl,x)"},{"a":24917,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":24919,"t":"code","b":[208,3],"m":"bne","oa":24924,"o":"b_615C"},{"a":24921,"t":"code","b":[166,82],"m":"ldx","oa":82,"o":"reg_bc"},{"a":24923,"t":"code","b":[96],"m":"rts"},{"a":24924,"l":"b_615C","t":"code","b":[32,78,84],"m":"jsr","oa":21582,"x":[24919],"o":"INCHL"},{"a":24927,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":24930,"t":"code","b":[136],"m":"dey"},{"a":24931,"t":"code","b":[16,238],"m":"bpl","oa":24915,"o":"b_6153"},{"a":24933,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"reg_bc"},{"a":24935,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":24937,"t":"code","b":[170],"m":"tax"},{"a":24938,"l":"r_616A","t":"code","b":[96],"m":"rts","x":[24941,24949,24953,24957,24961,24968,24974]},{"a":24939,"l":"cond_carried","c":"Type 1: true when the item is carried ($FF)","t":"code","b":[201,255],"m":"cmp","x":[24858],"o":"#$FF"},{"a":24941,"t":"code","b":[240,251],"m":"beq","oa":24938,"o":"r_616A"},{"a":24943,"t":"code","b":[208,18],"m":"bne","oa":24963,"o":"b_6183"},{"a":24945,"l":"cond_not_available","c":"Type 12: true when the item is neither carried nor in the current room","t":"code","b":[162,0],"m":"ldx","x":[24880],"o":"#$00"},{"a":24947,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":24949,"t":"code","b":[240,243],"m":"beq","oa":24938,"o":"r_616A"},{"a":24951,"t":"code","b":[209,78],"m":"cmp","oa":78,"o":"(reg_hl),y"},{"a":24953,"t":"code","b":[240,239],"m":"beq","oa":24938,"o":"r_616A"},{"a":24955,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":24957,"t":"code","b":[208,235],"m":"bne","oa":24938,"o":"r_616A"},{"a":24959,"l":"cond_here","c":"Type 2: true when the item is in the current room","t":"code","b":[209,78],"m":"cmp","oa":78,"x":[109,24860],"o":"(reg_hl),y"},{"a":24961,"t":"code","b":[240,231],"m":"beq","oa":24938,"o":"r_616A"},{"a":24963,"l":"b_6183","t":"code","b":[162,0],"m":"ldx","x":[24943,24970,24978,24983,24990,25007,25011,25024,25026,25031,25053,25060,25082],"o":"#$00"},{"a":24965,"t":"code","b":[96],"m":"rts"},{"a":24966,"l":"cond_exists","c":"Type 13: true when the item is anywhere but room 0","t":"code","b":[201,0],"m":"cmp","x":[24882],"o":"#$00"},{"a":24968,"t":"code","b":[208,224],"m":"bne","oa":24938,"o":"r_616A"},{"a":24970,"t":"code","b":[240,247],"m":"beq","oa":24963,"o":"b_6183"},{"a":24972,"l":"cond_available","c":"Type 3: true when the item is carried or in the current room","t":"code","b":[209,78],"m":"cmp","oa":78,"x":[24862],"o":"(reg_hl),y"},{"a":24974,"t":"code","b":[240,218],"m":"beq","oa":24938,"o":"r_616A"},{"a":24976,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":24978,"t":"code","b":[208,239],"m":"bne","oa":24963,"o":"b_6183"},{"a":24980,"t":"code","b":[96],"m":"rts"},{"a":24981,"l":"cond_not_exists","c":"Type 14: true when the item is in room 0","t":"code","b":[201,0],"m":"cmp","x":[24884],"o":"#$00"},{"a":24983,"t":"code","b":[208,234],"m":"bne","oa":24963,"o":"b_6183"},{"a":24985,"t":"code","b":[96],"m":"rts"},{"a":24986,"l":"cond_in_room","c":"Type 4: true when the player is in the room the value numbers","t":"code","b":[165,80],"m":"lda","oa":80,"x":[24864],"o":"reg_de"},{"a":24988,"t":"code","b":[209,78],"m":"cmp","oa":78,"o":"(reg_hl),y"},{"a":24990,"t":"code","b":[208,227],"m":"bne","oa":24963,"o":"b_6183"},{"a":24992,"l":"r_61A0","t":"code","b":[96],"m":"rts","x":[25003,25005]},{"a":24993,"l":"cond_counter_le","c":"Type 15: true when the counter ($1C00) is no more than the value. The comparison ($5478) answers Z when they are equal and N when the counter is less","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[24886],"o":"load_hl_slot"},{"a":24996,"c":"The counter, $1C00, for the comparison with the value","t":"addr","b":[0,28],"oa":7168,"o":"counter"},{"a":24998,"c":"Compare it with the word at $0050 (DE, the value)","t":"code","b":[32,120,84],"m":"jsr","oa":21624,"o":"cmp_hl_mem_slot"},{"a":25001,"c":"$0050, where DE keeps the value, for the counter to be compared with","t":"addr","b":[80,0],"oa":80,"o":"reg_de"},{"a":25003,"c":"Equal or less: true","t":"code","b":[240,243],"m":"beq","oa":24992,"o":"r_61A0"},{"a":25005,"t":"code","b":[48,241],"m":"bmi","oa":24992,"o":"r_61A0"},{"a":25007,"l":"b_61AF","t":"code","b":[208,210],"m":"bne","oa":24963,"x":[25111],"o":"b_6183"},{"a":25009,"l":"cond_not_here","c":"Type 5: true when the item is not in the current room","t":"code","b":[209,78],"m":"cmp","oa":78,"x":[24866],"o":"(reg_hl),y"},{"a":25011,"t":"code","b":[240,206],"m":"beq","oa":24963,"o":"b_6183"},{"a":25013,"t":"code","b":[96],"m":"rts"},{"a":25014,"l":"cond_counter_gt","c":"Type 16: true when the counter is more than the value","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[24888],"o":"load_hl_slot"},{"a":25017,"c":"The counter, $1C00, for type 16","t":"addr","b":[0,28],"oa":7168,"o":"counter"},{"a":25019,"c":"Compare it with DE, the value","t":"code","b":[32,120,84],"m":"jsr","oa":21624,"o":"cmp_hl_mem_slot"},{"a":25022,"c":"$0050, DE, the value type 16 compares with","t":"addr","b":[80,0],"oa":80,"o":"reg_de"},{"a":25024,"c":"Equal or less: false. Then type 6 below","t":"code","b":[240,193],"m":"beq","oa":24963,"o":"b_6183"},{"a":25026,"t":"code","b":[48,191],"m":"bmi","oa":24963,"o":"b_6183"},{"a":25028,"t":"code","b":[96],"m":"rts"},{"a":25029,"l":"cond_not_carried","c":"Type 6: true when the item is not carried","t":"code","b":[201,255],"m":"cmp","x":[24868],"o":"#$FF"},{"a":25031,"t":"code","b":[240,186],"m":"beq","oa":24963,"o":"b_6183"},{"a":25033,"t":"code","b":[96],"m":"rts"},{"a":25034,"l":"cond_at_start","c":"Type 17: true when the item is where the database first put it ($805A + 2 x item)","t":"code","b":[32,114,84],"m":"jsr","oa":21618,"x":[24890],"o":"push_de_slot"},{"a":25037,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":25040,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25043,"c":"The address of the starting locations, from $805A, for type 17","t":"addr","b":[90,128],"oa":32858,"o":"db_start_locations"},{"a":25045,"c":"Compare the item's location with its starting one","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":25048,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":25051,"t":"code","b":[209,78],"m":"cmp","oa":78,"o":"(reg_hl),y"},{"a":25053,"t":"code","b":[208,164],"m":"bne","oa":24963,"o":"b_6183"},{"a":25055,"t":"code","b":[96],"m":"rts"},{"a":25056,"l":"cond_not_in_room","c":"Type 7: true when the player is not in the room the value numbers","t":"code","b":[165,80],"m":"lda","oa":80,"x":[24870],"o":"reg_de"},{"a":25058,"t":"code","b":[209,78],"m":"cmp","oa":78,"o":"(reg_hl),y"},{"a":25060,"t":"code","b":[240,157],"m":"beq","oa":24963,"o":"b_6183"},{"a":25062,"t":"code","b":[96],"m":"rts"},{"a":25063,"l":"cond_moved","c":"Type 18: true when the item is not where the database first put it","t":"code","b":[32,114,84],"m":"jsr","oa":21618,"x":[24892],"o":"push_de_slot"},{"a":25066,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":25069,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25072,"c":"The address of the starting locations, from $805A, for type 18","t":"addr","b":[90,128],"oa":32858,"o":"db_start_locations"},{"a":25074,"c":"Compare: equal is false","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":25077,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":25080,"t":"code","b":[209,78],"m":"cmp","oa":78,"o":"(reg_hl),y"},{"a":25082,"t":"code","b":[240,135],"m":"beq","oa":24963,"o":"b_6183"},{"a":25084,"t":"code","b":[96],"m":"rts"},{"a":25085,"l":"cond_flag_set","c":"Type 8: true when flag n is set ($1C02 + n)","t":"code","b":[164,80],"m":"ldy","oa":80,"x":[24872],"o":"reg_de"},{"a":25087,"t":"code","b":[185,2,28],"m":"lda","oa":7170,"o":"flags,y"},{"a":25090,"t":"code","b":[170],"m":"tax"},{"a":25091,"t":"code","b":[96],"m":"rts"},{"a":25092,"l":"cond_flag_clear","c":"Type 9: true when flag n is clear","t":"code","b":[164,80],"m":"ldy","oa":80,"x":[24874],"o":"reg_de"},{"a":25094,"t":"code","b":[185,2,28],"m":"lda","oa":7170,"o":"flags,y"},{"a":25097,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":25099,"t":"code","b":[170],"m":"tax"},{"a":25100,"t":"code","b":[96],"m":"rts"},{"a":25101,"l":"cond_counter_eq","c":"Type 19: true when the counter equals the value","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[24894],"o":"load_hl_slot"},{"a":25104,"c":"The counter, $1C00, for type 19","t":"addr","b":[0,28],"oa":7168,"o":"counter"},{"a":25106,"c":"Compare it with DE","t":"code","b":[32,120,84],"m":"jsr","oa":21624,"o":"cmp_hl_mem_slot"},{"a":25109,"c":"$0050, DE, the value type 19 compares with","t":"addr","b":[80,0],"oa":80,"o":"reg_de"},{"a":25111,"c":"Not equal: false","t":"code","b":[208,150],"m":"bne","oa":25007,"o":"b_61AF"},{"a":25113,"t":"code","b":[96],"m":"rts"},{"a":25114,"l":"draw_carried","c":"Draw the picture of what is carried: room 98's picture with the items whose location is $FF ($75F7 draws a room numbered 98 as the carried items, with their inventory pieces). The room's number and the dark flag are put back afterwards","t":"code","b":[173,17,28],"m":"lda","oa":7185,"x":[25235],"o":"flag_dark"},{"a":25117,"t":"code","b":[72],"m":"pha"},{"a":25118,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":25121,"t":"code","b":[72],"m":"pha"},{"a":25122,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":25124,"t":"code","b":[141,17,28],"m":"sta","oa":7185,"o":"flag_dark"},{"a":25127,"t":"code","b":[169,98],"m":"lda","o":"#$62"},{"a":25129,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":25132,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":25135,"t":"code","b":[104],"m":"pla"},{"a":25136,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":25139,"t":"code","b":[104],"m":"pla"},{"a":25140,"t":"code","b":[141,17,28],"m":"sta","oa":7185,"o":"flag_dark"},{"a":25143,"t":"code","b":[96],"m":"rts"},{"a":25144,"l":"inventory","c":"List what is carried: \"CARRYING: \" in purple, then each carried item's name and a full stop, or \"Nothing!\"; then the text goes blue and the carried items are drawn ($621A)","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[24835],"o":"save_all_slot"},{"a":25147,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":25150,"t":"code","b":[169,156],"m":"lda","o":"#$9C"},{"a":25152,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25155,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25158,"c":"The text \"CARRYING: \" ($629A)","t":"addr","b":[154,98],"oa":25242,"o":"txt_carrying"},{"a":25160,"c":"Print it in purple, then walk every item's location and name together","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":25163,"t":"code","b":[172,108,128],"m":"ldy","oa":32876,"o":"db_last_item"},{"a":25166,"t":"code","b":[200],"m":"iny"},{"a":25167,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":25169,"t":"code","b":[141,162,30],"m":"sta","oa":7842,"o":"temp_count"},{"a":25172,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25175,"c":"The pointer at $1C3A to the item locations, walked in step with the names","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":25177,"c":"DE walks the locations, for the carried items","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":25180,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25183,"c":"The address of the item-name table, from $8058, walked as HL","t":"addr","b":[88,128],"oa":32856,"o":"db_item_texts"},{"a":25185,"l":"list_carried","c":"Each item whose location is $FF has its name printed ($5412); $1EA2 notes that one was","t":"code","b":[162,0],"m":"ldx","x":[25212],"o":"#$00"},{"a":25187,"t":"code","b":[161,80],"m":"lda","oa":80,"o":"(reg_de,x)"},{"a":25189,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":25191,"t":"code","b":[208,6],"m":"bne","oa":25199,"o":"b_626F"},{"a":25193,"t":"code","b":[141,162,30],"m":"sta","oa":7842,"o":"temp_count"},{"a":25196,"t":"code","b":[32,18,84],"m":"jsr","oa":21522,"o":"print_item_slot"},{"a":25199,"l":"b_626F","t":"code","b":[32,105,84],"m":"jsr","oa":21609,"x":[25191],"o":"inc_de_slot"},{"a":25202,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":25205,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":25208,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":25211,"t":"code","b":[136],"m":"dey"},{"a":25212,"t":"code","b":[208,227],"m":"bne","oa":25185,"o":"list_carried"},{"a":25214,"t":"code","b":[173,162,30],"m":"lda","oa":7842,"o":"temp_count"},{"a":25217,"t":"code","b":[208,8],"m":"bne","oa":25227,"o":"b_628B"},{"a":25219,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25222,"c":"The text \"Nothing!\" ($62A5)","t":"addr","b":[165,98],"oa":25253,"o":"txt_nothing"},{"a":25224,"c":"Print it if nothing was carried; blue text, a space, then the picture","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":25227,"l":"b_628B","t":"code","b":[32,39,84],"m":"jsr","oa":21543,"x":[25217],"o":"colour_blue_slot"},{"a":25230,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":25232,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25235,"t":"code","b":[32,26,98],"m":"jsr","oa":25114,"o":"draw_carried"},{"a":25238,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":25241,"t":"code","b":[96],"m":"rts"},{"a":25242,"l":"txt_carrying","c":"Text \"CARRYING: \", in shifted letters, zero-terminated: the inventory's heading","t":"byte","b":[195,193,210,210,217,201,206,199],"x":[25158]},{"a":25250,"t":"byte","b":[186,32,0]},{"a":25253,"l":"txt_nothing","c":"Text \"Nothing!\", zero-terminated: the inventory with nothing carried","t":"byte","b":[78,111,116,104,105,110,103,33],"x":[25222]},{"a":25261,"t":"byte","b":[0]},{"a":25262,"l":"print_item","c":"Print an item's name: HL points at the item's entry in the name table; the text there starts with its length and is printed up to its end or its first '/', which begins the word GET and DROP know it by; then \". \"","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[24853],"o":"SAVER"},{"a":25265,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":25268,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":25270,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25272,"t":"code","b":[72],"m":"pha"},{"a":25273,"t":"code","b":[200],"m":"iny"},{"a":25274,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25276,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":25278,"t":"code","b":[104],"m":"pla"},{"a":25279,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":25281,"t":"code","b":[136],"m":"dey"},{"a":25282,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25284,"t":"code","b":[170],"m":"tax"},{"a":25285,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":25288,"l":"b_62C8","t":"code","b":[177,78],"m":"lda","oa":78,"x":[25299],"o":"(reg_hl),y"},{"a":25290,"t":"code","b":[201,47],"m":"cmp","o":"#$2F"},{"a":25292,"t":"code","b":[240,7],"m":"beq","oa":25301,"o":"b_62D5"},{"a":25294,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25297,"t":"code","b":[200],"m":"iny"},{"a":25298,"t":"code","b":[202],"m":"dex"},{"a":25299,"t":"code","b":[208,243],"m":"bne","oa":25288,"o":"b_62C8"},{"a":25301,"l":"b_62D5","t":"code","b":[169,46],"m":"lda","x":[25292],"o":"#$2E"},{"a":25303,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25306,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":25308,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25311,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":25314,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":25317,"t":"code","b":[96],"m":"rts"},{"a":25318,"l":"look","c":"Describe the current room. In the dark ($1C11 set) without the light (item 9) carried or here: \"TOO DARK TO SEE!\". Otherwise, in green, \"I'm in a \" (left out when the room's text starts with '*') and the room's text, \". \", then in purple the names of the items here, and in green the directions that have an exit","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[24832],"o":"save_all_slot"},{"a":25321,"t":"code","b":[32,36,84],"m":"jsr","oa":21540,"o":"colour_green_slot"},{"a":25324,"t":"code","b":[173,17,28],"m":"lda","oa":7185,"o":"flag_dark"},{"a":25327,"t":"code","b":[240,29],"m":"beq","oa":25358,"o":"b_630E"},{"a":25329,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25332,"c":"The pointer at $1C3A to the item locations, for item 9, the light","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":25334,"c":"Neither carried nor here: too dark","t":"code","b":[160,18],"m":"ldy","o":"#$12"},{"a":25336,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25338,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":25340,"t":"code","b":[240,16],"m":"beq","oa":25358,"o":"b_630E"},{"a":25342,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":25345,"t":"code","b":[240,11],"m":"beq","oa":25358,"o":"b_630E"},{"a":25347,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25350,"c":"The text \"TOO DARK TO SEE!\" ($63D8)","t":"addr","b":[216,99],"oa":25560,"o":"txt_too_dark"},{"a":25352,"c":"Print it and finish","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":25355,"t":"code","b":[76,209,99],"m":"jmp","oa":25553,"o":"describe_done"},{"a":25358,"l":"b_630E","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[25327,25340,25345],"o":"load_hl_slot"},{"a":25361,"c":"The address of the room-text table, from $8046","t":"addr","b":[70,128],"oa":32838,"o":"db_room_texts"},{"a":25363,"c":"The room's text: its entry is at table + 2 x room. The first byte is its length; a leading '*' is skipped and drops \"I'm in a \"","t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":25366,"t":"code","b":[24],"m":"clc"},{"a":25367,"t":"code","b":[109,34,28],"m":"adc","oa":7202,"o":"room"},{"a":25370,"t":"code","b":[168],"m":"tay"},{"a":25371,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25373,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":25375,"t":"code","b":[200],"m":"iny"},{"a":25376,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25378,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":25380,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":25382,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":25384,"t":"code","b":[170],"m":"tax"},{"a":25385,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":25388,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":25390,"t":"code","b":[201,42],"m":"cmp","o":"#$2A"},{"a":25392,"t":"code","b":[208,6],"m":"bne","oa":25400,"o":"b_6338"},{"a":25394,"t":"code","b":[202],"m":"dex"},{"a":25395,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":25398,"t":"code","b":[208,8],"m":"bne","oa":25408,"o":"b_6340"},{"a":25400,"l":"b_6338","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[25392],"o":"SETHLI"},{"a":25403,"c":"The text \"I'm in a \" ($63EA)","t":"addr","b":[234,99],"oa":25578,"o":"txt_im_in_a"},{"a":25405,"c":"Print the room's text ($543F), \". \" and the colour purple ($9C); then the items whose location is this room","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":25408,"l":"b_6340","t":"code","b":[32,114,84],"m":"jsr","oa":21618,"x":[25398],"o":"push_de_slot"},{"a":25411,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":25414,"t":"code","b":[138],"m":"txa"},{"a":25415,"t":"code","b":[32,63,84],"m":"jsr","oa":21567,"o":"PUTSA"},{"a":25418,"t":"code","b":[169,46],"m":"lda","o":"#$2E"},{"a":25420,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25423,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":25425,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25428,"t":"code","b":[169,156],"m":"lda","o":"#$9C"},{"a":25430,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":25433,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":25435,"t":"code","b":[174,108,128],"m":"ldx","oa":32876,"o":"db_last_item"},{"a":25438,"t":"code","b":[232],"m":"inx"},{"a":25439,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25442,"c":"The pointer at $1C3A to the item locations, for the items here","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":25444,"c":"DE walks the locations, for the items in this room","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":25447,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":25450,"c":"The address of the item-name table, from $8058","t":"addr","b":[88,128],"oa":32856,"o":"db_item_texts"},{"a":25452,"l":"list_items_here","c":"Print each item in this room ($5412). Then green, and the exits","t":"code","b":[173,34,28],"m":"lda","oa":7202,"x":[25475],"o":"room"},{"a":25455,"t":"code","b":[209,80],"m":"cmp","oa":80,"o":"(reg_de),y"},{"a":25457,"t":"code","b":[208,3],"m":"bne","oa":25462,"o":"b_6376"},{"a":25459,"t":"code","b":[32,18,84],"m":"jsr","oa":21522,"o":"print_item_slot"},{"a":25462,"l":"b_6376","t":"code","b":[32,78,84],"m":"jsr","oa":21582,"x":[25457],"o":"INCHL"},{"a":25465,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":25468,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":25471,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":25474,"t":"code","b":[202],"m":"dex"},{"a":25475,"t":"code","b":[208,231],"m":"bne","oa":25452,"o":"list_items_here"},{"a":25477,"t":"code","b":[32,36,84],"m":"jsr","oa":21540,"o":"colour_green_slot"},{"a":25480,"t":"code","b":[162,6],"m":"ldx","o":"#$06"},{"a":25482,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25485,"c":"The text \"North \" ($63F4), the first exit name; DE steps on through the rest","t":"addr","b":[244,99],"oa":25588,"o":"txt_north"},{"a":25487,"c":"DE = the exit names","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":25490,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25493,"c":"$8048, where the database keeps the addresses of the six exit columns","t":"addr","b":[72,128],"oa":32840,"o":"db_exits"},{"a":25495,"c":"For each direction, print its name when this room's byte in its column is not 0, and step DE past the name","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":25498,"l":"b_639A","t":"code","b":[160,0],"m":"ldy","x":[25551],"o":"#$00"},{"a":25500,"t":"code","b":[177,82],"m":"lda","oa":82,"o":"(reg_bc),y"},{"a":25502,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":25504,"t":"code","b":[200],"m":"iny"},{"a":25505,"t":"code","b":[177,82],"m":"lda","oa":82,"o":"(reg_bc),y"},{"a":25507,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":25509,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":25512,"t":"code","b":[24],"m":"clc"},{"a":25513,"t":"code","b":[109,34,28],"m":"adc","oa":7202,"o":"room"},{"a":25516,"t":"code","b":[168],"m":"tay"},{"a":25517,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25519,"t":"code","b":[240,9],"m":"beq","oa":25530,"o":"b_63BA"},{"a":25521,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":25524,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":25527,"t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":25530,"l":"b_63BA","t":"code","b":[32,99,84],"m":"jsr","oa":21603,"x":[25519],"o":"inc_bc_slot"},{"a":25533,"t":"code","b":[32,99,84],"m":"jsr","oa":21603,"o":"inc_bc_slot"},{"a":25536,"l":"b_63C0","t":"code","b":[160,0],"m":"ldy","x":[25545],"o":"#$00"},{"a":25538,"t":"code","b":[177,80],"m":"lda","oa":80,"o":"(reg_de),y"},{"a":25540,"t":"code","b":[240,5],"m":"beq","oa":25547,"o":"b_63CB"},{"a":25542,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":25545,"t":"code","b":[208,245],"m":"bne","oa":25536,"o":"b_63C0"},{"a":25547,"l":"b_63CB","t":"code","b":[32,105,84],"m":"jsr","oa":21609,"x":[25540],"o":"inc_de_slot"},{"a":25550,"t":"code","b":[202],"m":"dex"},{"a":25551,"t":"code","b":[208,201],"m":"bne","oa":25498,"o":"b_639A"},{"a":25553,"l":"describe_done","c":"Blue text again, and restore everything","t":"code","b":[32,39,84],"m":"jsr","oa":21543,"x":[25355],"o":"colour_blue_slot"},{"a":25556,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":25559,"t":"code","b":[96],"m":"rts"},{"a":25560,"l":"txt_too_dark","c":"Text \"TOO DARK TO SEE!\" and a newline, in shifted letters, zero-terminated","t":"byte","b":[212,207,207,160,196,193,210,203],"x":[25350]},{"a":25568,"t":"byte","b":[160,212,207,160,211,197,197,161]},{"a":25576,"t":"byte","b":[13,0]},{"a":25578,"l":"txt_im_in_a","c":"Text \"I'm in a \", zero-terminated: what a room description starts with, unless the room's text starts with '*'","t":"byte","b":[73,39,109,32,105,110,32,97],"x":[25403]},{"a":25586,"t":"byte","b":[32,0]},{"a":25588,"l":"txt_north","c":"Text \"North \", zero-terminated: the first of the six exit names, which the room description steps through in the order of the exit columns","t":"byte","b":[78,111,114,116,104,32,0],"x":[25485]},{"a":25595,"l":"txt_south","c":"Text \"South \", zero-terminated: the second exit name","t":"byte","b":[83,111,117,116,104,32,0]},{"a":25602,"l":"txt_east","c":"Text \"East \", zero-terminated: the third exit name","t":"byte","b":[69,97,115,116,32,0]},{"a":25608,"l":"txt_west","c":"Text \"West \", zero-terminated: the fourth exit name","t":"byte","b":[87,101,115,116,32,0]},{"a":25614,"l":"txt_up","c":"Text \"Up \", zero-terminated: the fifth exit name","t":"byte","b":[85,112,32,0]},{"a":25618,"l":"txt_down","c":"Text \"Down \", zero-terminated: the sixth exit name","t":"byte","b":[68,111,119,110,32,0]},{"a":25624,"l":"next_param","c":"The current action's next parameter, in HL: walk its condition words from slot $46 on (moving $46 past each), and return the value of the next one whose type is 0. Every command that takes a parameter calls this, so a command's parameters are its action's type-0 conditions, in order","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[24838],"o":"SAVER"},{"a":25627,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":25630,"t":"code","b":[32,108,84],"m":"jsr","oa":21612,"o":"push_bc_slot"},{"a":25633,"l":"b_6421","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[25699],"o":"SETHLI"},{"a":25636,"c":"$803C, where the database keeps the addresses of the five condition columns","t":"addr","b":[60,128],"oa":32828,"o":"db_action_conditions"},{"a":25638,"c":"Condition slot $46 of action IX: its word, divided by 20","t":"code","b":[165,70],"m":"lda","oa":70,"o":"param_slot"},{"a":25640,"t":"code","b":[24],"m":"clc"},{"a":25641,"t":"code","b":[101,70],"m":"adc","oa":70,"o":"param_slot"},{"a":25643,"t":"code","b":[168],"m":"tay"},{"a":25644,"t":"code","b":[230,70],"m":"inc","oa":70,"o":"param_slot"},{"a":25646,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25648,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":25650,"t":"code","b":[200],"m":"iny"},{"a":25651,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25653,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":25655,"t":"code","b":[32,147,84],"m":"jsr","oa":21651,"o":"push_ix_slot"},{"a":25658,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":25661,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":25664,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":25667,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":25670,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":25673,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":25676,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":25678,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25680,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":25682,"t":"code","b":[200],"m":"iny"},{"a":25683,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":25685,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":25687,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25690,"c":"20, to split the word","t":"word","b":[20,0],"d":[20]},{"a":25692,"c":"Remainder (the type) not 0: try the next slot. Otherwise HL is the value","t":"code","b":[32,33,84],"m":"jsr","oa":21537,"o":"divide_slot"},{"a":25695,"t":"code","b":[165,81],"m":"lda","oa":81,"o":"reg_de_hi"},{"a":25697,"t":"code","b":[5,80],"m":"ora","oa":80,"o":"reg_de"},{"a":25699,"t":"code","b":[208,188],"m":"bne","oa":25633,"o":"b_6421"},{"a":25701,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":25704,"t":"code","b":[32,117,84],"m":"jsr","oa":21621,"o":"pull_de_slot"},{"a":25707,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":25710,"t":"code","b":[96],"m":"rts"},{"a":25711,"l":"save_game","c":"Save the game: text only on screen, stop the drive's fast loader (byte 0, $54D8), close channel 15, ask for the area A to D ($541B), and save $1C00-$1E3D under the name \"@0:\" + the letter + \".S\" (shifted). \"@0:\" makes the drive replace the area's file. A disk error prints \"ERROR\" and asks again. Afterwards the fast loader goes back into the drive ($54D5) and the picture comes back if it was on","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[24841],"o":"save_all_slot"},{"a":25714,"t":"code","b":[32,60,84],"m":"jsr","oa":21564,"o":"CLS"},{"a":25717,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":25720,"t":"code","b":[141,230,100],"m":"sta","oa":25830,"o":"picture_was_on"},{"a":25723,"t":"code","b":[32,174,84],"m":"jsr","oa":21678,"o":"graphics_off_slot"},{"a":25726,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":25728,"t":"code","b":[32,216,84],"m":"jsr","oa":21720,"o":"drive_send_slot"},{"a":25731,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":25733,"t":"code","b":[32,195,255],"m":"jsr","oa":65475,"o":"KERNAL_CLOSE"},{"a":25736,"l":"build_save_name","c":"Ask for the area, then build the name in the line buffer from the template at $64DF","t":"code","b":[32,27,84],"m":"jsr","oa":21531,"x":[25788],"o":"save_area_slot"},{"a":25739,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":25741,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":25743,"t":"code","b":[169,28],"m":"lda","o":"#$1C"},{"a":25745,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":25747,"t":"code","b":[172,62,30],"m":"ldy","oa":7742,"o":"line_buffer"},{"a":25750,"t":"code","b":[162,6],"m":"ldx","o":"#$06"},{"a":25752,"l":"b_6498","t":"code","b":[189,223,100],"m":"lda","oa":25823,"x":[25759],"o":"save_name_template,x"},{"a":25755,"t":"code","b":[157,62,30],"m":"sta","oa":7742,"o":"line_buffer,x"},{"a":25758,"t":"code","b":[202],"m":"dex"},{"a":25759,"t":"code","b":[16,247],"m":"bpl","oa":25752,"o":"b_6498"},{"a":25761,"t":"code","b":[140,65,30],"m":"sty","oa":7745,"o":"save_name_star"},{"a":25764,"t":"code","b":[169,78],"m":"lda","o":"#$4E"},{"a":25766,"t":"code","b":[162,62],"m":"ldx","o":"#$3E"},{"a":25768,"t":"code","b":[160,30],"m":"ldy","o":"#$1E"},{"a":25770,"t":"code","b":[32,216,255],"m":"jsr","oa":65496,"o":"KERNAL_SAVE"},{"a":25773,"t":"code","b":[32,183,255],"m":"jsr","oa":65463,"o":"KERNAL_READST"},{"a":25776,"t":"code","b":[41,191],"m":"and","o":"#$BF"},{"a":25778,"t":"code","b":[240,11],"m":"beq","oa":25791,"o":"saved_done"},{"a":25780,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":25783,"c":"The text \"ERROR\" ($64D7)","t":"addr","b":[215,100],"oa":25815,"o":"txt_error"},{"a":25785,"c":"Print \"ERROR\" and ask for the area again","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":25788,"t":"code","b":[76,136,100],"m":"jmp","oa":25736,"o":"build_save_name"},{"a":25791,"l":"saved_done","c":"Saved: a newline, the fast loader sent to the drive again, the picture put back if it was on","t":"code","b":[32,51,84],"m":"jsr","oa":21555,"x":[25778],"o":"PUTCR"},{"a":25794,"t":"code","b":[32,213,84],"m":"jsr","oa":21717,"o":"drive_code_slot"},{"a":25797,"t":"code","b":[173,230,100],"m":"lda","oa":25830,"o":"picture_was_on"},{"a":25800,"t":"code","b":[240,6],"m":"beq","oa":25808,"o":"b_64D0"},{"a":25802,"t":"code","b":[32,171,84],"m":"jsr","oa":21675,"o":"graphics_on_slot"},{"a":25805,"t":"code","b":[76,211,100],"m":"jmp","oa":25811,"o":"j_64D3"},{"a":25808,"l":"b_64D0","t":"code","b":[32,174,84],"m":"jsr","oa":21678,"x":[25800],"o":"graphics_off_slot"},{"a":25811,"l":"j_64D3","t":"code","b":[32,138,84],"m":"jsr","oa":21642,"x":[25805],"o":"restore_all_slot"},{"a":25814,"t":"code","b":[96],"m":"rts"},{"a":25815,"l":"txt_error","c":"Text \"ERROR\" between newlines, zero-terminated: a save that failed, which is then tried again","t":"byte","b":[13,69,82,82,79,82,13,0],"x":[25783]},{"a":25823,"l":"save_name_template","c":"The saved game's file name before its letter goes in: \"@0:\", a space, \".\", a shifted S and a zero, copied to $1E3E; the letter goes in place of the space ($1E41), and the KERNAL is given six characters, \"@0:A.S\"","t":"byte","b":[64,48,58,32,46,211,0],"x":[25752]},{"a":25830,"l":"picture_was_on","c":"The picture flag ($1F22) as it was when the save began, so that the picture comes back after it","t":"byte","b":[0],"x":[25720,25797]},{"a":25831,"l":"source_symbols","c":"A piece of the original assembler's symbol table left in the program: entries for RESTRT, PUT ($5430), PUTCR ($5433), PUTZ ($5436), READK ($5439), CLS ($543C), PUTSA ($543F), PUTS ($5442) and the start of GETIA ($5445). Each entry is a length, the name's address, $C0, two more bytes, then the name","t":"byte","b":[3,82,69,83,84,82,84,9]},{"a":25839,"t":"byte","b":[48,84,192,253,2,80,85,84]},{"a":25847,"t":"byte","b":[11,51,84,192,8,3,80,85]},{"a":25855,"t":"byte","b":[84,67,82,10,54,84,192,38]},{"a":25863,"t":"byte","b":[3,80,85,84,90,11,57,84]},{"a":25871,"t":"byte","b":[192,243,4,82,69,65,68,75]},{"a":25879,"t":"byte","b":[9,60,84,192,253,3,67,76]},{"a":25887,"t":"byte","b":[83,11,63,84,192,49,3,80]},{"a":25895,"t":"byte","b":[85,84,83,65,10,66,84,192]},{"a":25903,"t":"byte","b":[70,3,80,85,84,83,11,69]},{"a":25911,"t":"byte","b":[84,192,127,3,71,69,84,73]},{"a":25919,"t":"byte","b":[65]},{"a":25920,"l":"c64_module","c":"This module's table, the routines that talk to the C64's screen, keyboard and chips. $6552 leads back to $541B, and $655B and $655E to the zero byte at $6579, which would stop the machine with a BRK; nothing calls those three","t":"code","b":[76,123,101],"m":"jmp","oa":25979,"x":[21504],"o":"cold_start"},{"a":25923,"l":"put_jmp","c":"PUT: to $66A5","t":"code","b":[76,165,102],"m":"jmp","oa":26277,"x":[21552],"o":"put"},{"a":25926,"l":"putcr_jmp","c":"PUTCR: to $669E","t":"code","b":[76,158,102],"m":"jmp","oa":26270,"x":[21555],"o":"putcr"},{"a":25929,"l":"puts_jmp","c":"PUTS: to $6650","t":"code","b":[76,80,102],"m":"jmp","oa":26192,"x":[21570],"o":"puts"},{"a":25932,"l":"putsa_jmp","c":"PUTSA: to $6647","t":"code","b":[76,71,102],"m":"jmp","oa":26183,"x":[21567],"o":"putsa"},{"a":25935,"l":"putz_jmp","c":"PUTZ: to $6684","t":"code","b":[76,132,102],"m":"jmp","oa":26244,"x":[21558],"o":"putz"},{"a":25938,"l":"unused_jmp_541b","c":"Leads back to the save-area question's slot, $541B; nothing calls it","t":"code","b":[76,27,84],"m":"jmp","oa":21531,"o":"save_area_slot"},{"a":25941,"l":"readk_jmp","c":"READK: to $679E","t":"code","b":[76,158,103],"m":"jmp","oa":26526,"x":[21561],"o":"readk"},{"a":25944,"l":"cls_jmp","c":"CLS: to $68A5","t":"code","b":[76,165,104],"m":"jmp","oa":26789,"x":[21564],"o":"cls"},{"a":25947,"l":"unused_brk_jmps","c":"Two slots that lead to $6579, a zero byte (BRK); nothing calls either","t":"code","b":[76,121,101],"m":"jmp","oa":25977,"o":"brk_target"},{"a":25950,"t":"code","b":[76,121,101],"m":"jmp","oa":25977,"o":"brk_target"},{"a":25953,"l":"saver_jmp","c":"SAVER: to $68BE","t":"code","b":[76,190,104],"m":"jmp","oa":26814,"x":[21588],"o":"saver"},{"a":25956,"l":"geter_jmp","c":"GETER: to $68EE","t":"code","b":[76,238,104],"m":"jmp","oa":26862,"x":[21591],"o":"geter"},{"a":25959,"l":"restrt_jmp","c":"RESTRT: to $659C","t":"code","b":[76,156,101],"m":"jmp","oa":26012,"x":[21549],"o":"restart"},{"a":25962,"l":"green_jmp","c":"Green text: to $663D","t":"code","b":[76,61,102],"m":"jmp","oa":26173,"x":[21540],"o":"green_text"},{"a":25965,"l":"blue_jmp","c":"Blue text: to $6643","t":"code","b":[76,67,102],"m":"jmp","oa":26179,"x":[21543],"o":"blue_text"},{"a":25968,"l":"find_word_jmp","c":"Look a word up: to $6975","t":"code","b":[76,117,105],"m":"jmp","oa":26997,"x":[21684],"o":"find_word"},{"a":25971,"l":"init_state_jmp","c":"Starting state: to $6908","t":"code","b":[76,8,105],"m":"jmp","oa":26888,"x":[21687],"o":"init_state"},{"a":25974,"l":"wait_return_jmp","c":"Wait for RETURN: to $678E","t":"code","b":[76,142,103],"m":"jmp","oa":26510,"x":[21708],"o":"wait_line"},{"a":25977,"l":"brk_target","c":"A zero byte, the target of the two unused slots at $655B and $655E: run, it is a BRK","t":"code","b":[0],"m":"brk","x":[25947,25950]},{"a":25978,"l":"line_width","c":"39, the width of a printed line: the line buffer breaks lines at it ($66D6, $6702)","t":"byte","b":[39],"x":[26326,26370,26493]},{"a":25979,"l":"cold_start","c":"Where the loader's jump lands, through $5400. Sets the processor port ($00 = $2F, $01 = $36: BASIC out, the KERNAL and I/O in), turns the demonstration off, makes the border and background white, clears the screen for text, sends the fast loader to the disk drive ($54D5), sets the video chip up ($661C) and installs the raster interrupt ($6B23); then on into RESTRT","t":"code","b":[169,47],"m":"lda","x":[25920],"o":"#$2F"},{"a":25981,"t":"code","b":[133,0],"m":"sta","oa":0,"o":"cpu_port_ddr"},{"a":25983,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":25985,"t":"code","b":[141,40,31],"m":"sta","oa":7976,"o":"demo_mode"},{"a":25988,"t":"code","b":[169,54],"m":"lda","o":"#$36"},{"a":25990,"t":"code","b":[133,1],"m":"sta","oa":1,"o":"cpu_port"},{"a":25992,"t":"code","b":[169,241],"m":"lda","o":"#$F1"},{"a":25994,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":25997,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":26000,"t":"code","b":[32,174,84],"m":"jsr","oa":21678,"o":"graphics_off_slot"},{"a":26003,"t":"code","b":[32,213,84],"m":"jsr","oa":21717,"o":"drive_code_slot"},{"a":26006,"t":"code","b":[32,28,102],"m":"jsr","oa":26140,"o":"vic_setup"},{"a":26009,"t":"code","b":[32,35,107],"m":"jsr","oa":27427,"o":"set_irq"},{"a":26012,"l":"restart","c":"RESTRT: start a game. The stack is reset, the state set from the database ($54B7), the text made black on the lower-case character set, the colour test ($6B8B) and the copyright and title screens ($54BA) shown, then the title picture (room 99) drawn and the restore question asked ($54BD), which can also start the demonstration. Then into the main loop","t":"code","b":[120],"m":"sei","x":[25959,26635]},{"a":26013,"t":"code","b":[162,251],"m":"ldx","o":"#$FB"},{"a":26015,"t":"code","b":[154],"m":"txs"},{"a":26016,"t":"code","b":[88],"m":"cli"},{"a":26017,"t":"code","b":[32,174,84],"m":"jsr","oa":21678,"o":"graphics_off_slot"},{"a":26020,"t":"code","b":[32,183,84],"m":"jsr","oa":21687,"o":"init_state_slot"},{"a":26023,"t":"code","b":[169,144],"m":"lda","o":"#$90"},{"a":26025,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26028,"t":"code","b":[169,14],"m":"lda","o":"#$0E"},{"a":26030,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26033,"t":"code","b":[32,139,107],"m":"jsr","oa":27531,"o":"colour_test"},{"a":26036,"t":"code","b":[32,60,84],"m":"jsr","oa":21564,"o":"CLS"},{"a":26039,"t":"code","b":[32,186,84],"m":"jsr","oa":21690,"o":"title_slot"},{"a":26042,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":26044,"t":"code","b":[141,34,31],"m":"sta","oa":7970,"o":"picture_flag"},{"a":26047,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":26050,"t":"code","b":[72],"m":"pha"},{"a":26051,"t":"code","b":[169,99],"m":"lda","o":"#$63"},{"a":26053,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":26056,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":26059,"t":"code","b":[104],"m":"pla"},{"a":26060,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":26063,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":26066,"t":"code","b":[32,189,84],"m":"jsr","oa":21693,"o":"restore_prompt_slot"},{"a":26069,"t":"code","b":[32,39,84],"m":"jsr","oa":21543,"o":"colour_blue_slot"},{"a":26072,"t":"code","b":[76,232,101],"m":"jmp","oa":26088,"o":"turn_end"},{"a":26075,"l":"main_loop","c":"One turn: read and parse a command ($54C0), show a close-up if it is LOOK at certain things ($6A51), run the actions for it ($5403), and count the light down ($54C3)","t":"code","b":[234],"m":"nop","x":[26129,26137]},{"a":26076,"t":"code","b":[32,192,84],"m":"jsr","oa":21696,"o":"input_slot"},{"a":26079,"t":"code","b":[32,81,106],"m":"jsr","oa":27217,"o":"close_up"},{"a":26082,"t":"code","b":[32,3,84],"m":"jsr","oa":21507,"o":"run_actions_slot"},{"a":26085,"t":"code","b":[32,195,84],"m":"jsr","oa":21699,"o":"light_slot"},{"a":26088,"l":"turn_end","c":"The end of every turn, and the start of the first: run the automatic actions (verb 0). When the room has become dark or light since last time ($1F24 against $54B1), the picture is owed; an owed picture is drawn after a newline","t":"code","b":[169,0],"m":"lda","x":[26072],"o":"#$00"},{"a":26090,"t":"code","b":[141,62,30],"m":"sta","oa":7742,"o":"line_buffer"},{"a":26093,"t":"code","b":[133,95],"m":"sta","oa":95,"o":"verb"},{"a":26095,"t":"code","b":[32,3,84],"m":"jsr","oa":21507,"o":"run_actions_slot"},{"a":26098,"t":"code","b":[173,36,31],"m":"lda","oa":7972,"o":"dark_note"},{"a":26101,"t":"code","b":[208,7],"m":"bne","oa":26110,"o":"b_65FE"},{"a":26103,"t":"code","b":[32,177,84],"m":"jsr","oa":21681,"o":"dark_test_slot"},{"a":26106,"t":"code","b":[208,7],"m":"bne","oa":26115,"o":"b_6603"},{"a":26108,"t":"code","b":[240,16],"m":"beq","oa":26126,"o":"b_660E"},{"a":26110,"l":"b_65FE","t":"code","b":[32,177,84],"m":"jsr","oa":21681,"x":[26101],"o":"dark_test_slot"},{"a":26113,"t":"code","b":[208,11],"m":"bne","oa":26126,"o":"b_660E"},{"a":26115,"l":"b_6603","t":"code","b":[173,36,31],"m":"lda","oa":7972,"x":[26106],"o":"dark_note"},{"a":26118,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":26120,"t":"code","b":[141,36,31],"m":"sta","oa":7972,"o":"dark_note"},{"a":26123,"t":"code","b":[238,32,31],"m":"inc","oa":7968,"o":"picture_owed_count"},{"a":26126,"l":"b_660E","t":"code","b":[173,32,31],"m":"lda","oa":7968,"x":[26108,26113],"o":"picture_owed_count"},{"a":26129,"t":"code","b":[240,200],"m":"beq","oa":26075,"o":"main_loop"},{"a":26131,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":26134,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":26137,"t":"code","b":[76,219,101],"m":"jmp","oa":26075,"o":"main_loop"},{"a":26140,"l":"vic_setup","c":"Set the video chip up for the picture: bits 0 and 1 of $DD02 made outputs and bit 0 of $DD00 set, so the chip sees its first bank ($0000-$3FFF), then multicolour ($D016 bit 4) and bitmap mode ($D011 bit 5) on","t":"code","b":[173,2,221],"m":"lda","x":[26006],"o":"cia2_ddr_a"},{"a":26143,"t":"code","b":[9,3],"m":"ora","o":"#$03"},{"a":26145,"t":"code","b":[141,2,221],"m":"sta","o":"cia2_ddr_a"},{"a":26148,"t":"code","b":[173,0,221],"m":"lda","o":"cia2_port_a"},{"a":26151,"t":"code","b":[9,1],"m":"ora","o":"#$01"},{"a":26153,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":26156,"t":"code","b":[173,22,208],"m":"lda","o":"vic_control2"},{"a":26159,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":26161,"t":"code","b":[141,22,208],"m":"sta","o":"vic_control2"},{"a":26164,"t":"code","b":[173,17,208],"m":"lda","o":"vic_control1"},{"a":26167,"t":"code","b":[9,32],"m":"ora","o":"#$20"},{"a":26169,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":26172,"t":"code","b":[96],"m":"rts"},{"a":26173,"l":"green_text","c":"Print $1E, the colour code for green","t":"code","b":[169,30],"m":"lda","x":[25962],"o":"#$1E"},{"a":26175,"l":"b_663F","t":"code","b":[32,48,84],"m":"jsr","oa":21552,"x":[26181],"o":"PUT"},{"a":26178,"t":"code","b":[96],"m":"rts"},{"a":26179,"l":"blue_text","c":"Print $1F, the colour code for blue","t":"code","b":[169,31],"m":"lda","x":[25965],"o":"#$1F"},{"a":26181,"t":"code","b":[208,248],"m":"bne","oa":26175,"o":"b_663F"},{"a":26183,"l":"putsa","c":"PUTSA: print A characters from HL, newlines and line feeds as spaces","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25932],"o":"SAVER"},{"a":26186,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":26189,"t":"code","b":[76,93,102],"m":"jmp","oa":26205,"o":"print_count"},{"a":26192,"l":"puts","c":"PUTS: print the text at HL whose first byte is its length, newlines and line feeds as spaces","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25929],"o":"SAVER"},{"a":26195,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":26197,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":26199,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":26202,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":26205,"l":"print_count","c":"Print characters until the count runs out","t":"code","b":[201,0],"m":"cmp","x":[26189,26234],"o":"#$00"},{"a":26207,"t":"code","b":[240,28],"m":"beq","oa":26237,"o":"b_667D"},{"a":26209,"t":"code","b":[56],"m":"sec"},{"a":26210,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":26212,"t":"code","b":[72],"m":"pha"},{"a":26213,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":26215,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":26217,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":26220,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":26222,"t":"code","b":[240,4],"m":"beq","oa":26228,"o":"b_6674"},{"a":26224,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":26226,"t":"code","b":[208,2],"m":"bne","oa":26230,"o":"b_6676"},{"a":26228,"l":"b_6674","t":"code","b":[169,32],"m":"lda","x":[26222],"o":"#$20"},{"a":26230,"l":"b_6676","t":"code","b":[32,48,84],"m":"jsr","oa":21552,"x":[26226],"o":"PUT"},{"a":26233,"t":"code","b":[104],"m":"pla"},{"a":26234,"t":"code","b":[76,93,102],"m":"jmp","oa":26205,"o":"print_count"},{"a":26237,"l":"b_667D","t":"code","b":[32,93,84],"m":"jsr","oa":21597,"x":[26207,26259],"o":"PULLHL"},{"a":26240,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":26243,"t":"code","b":[96],"m":"rts"},{"a":26244,"l":"putz","c":"PUTZ: print from HL up to the zero byte. Sets $1F15 to 1, which nothing reads","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25935],"o":"SAVER"},{"a":26247,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":26249,"t":"code","b":[141,21,31],"m":"sta","oa":7957,"o":"putz_flag"},{"a":26252,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":26255,"l":"j_668F","t":"code","b":[160,0],"m":"ldy","x":[26267],"o":"#$00"},{"a":26257,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":26259,"t":"code","b":[240,232],"m":"beq","oa":26237,"o":"b_667D"},{"a":26261,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":26264,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":26267,"t":"code","b":[76,143,102],"m":"jmp","oa":26255,"o":"j_668F"},{"a":26270,"l":"putcr","c":"PUTCR: print a newline, which sends the line buffer to the screen","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25926],"o":"SAVER"},{"a":26273,"t":"code","b":[169,13],"m":"lda","o":"#$0D"},{"a":26275,"t":"code","b":[208,3],"m":"bne","oa":26280,"o":"b_66A8"},{"a":26277,"l":"put","c":"PUT: the one way the game's text reaches the screen. A zero does nothing, a line feed becomes a space, a double quote becomes a hyphen and a newline prints the line ($670B). Other characters go into the line buffer at $1EA8 (count in $4C), leaving out a space at the start of a line. When the buffer reaches the width of 39 ($657A), the line is broken at its last space, printed, and the part of the word after the space moved to the start of the buffer","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25923],"o":"SAVER"},{"a":26280,"l":"b_66A8","t":"code","b":[201,0],"m":"cmp","x":[26275],"o":"#$00"},{"a":26282,"t":"code","b":[240,23],"m":"beq","oa":26307,"o":"b_66C3"},{"a":26284,"t":"code","b":[201,10],"m":"cmp","o":"#$0A"},{"a":26286,"t":"code","b":[208,2],"m":"bne","oa":26290,"o":"b_66B2"},{"a":26288,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":26290,"l":"b_66B2","t":"code","b":[201,13],"m":"cmp","x":[26286],"o":"#$0D"},{"a":26292,"t":"code","b":[240,10],"m":"beq","oa":26304,"o":"b_66C0"},{"a":26294,"t":"code","b":[201,34],"m":"cmp","o":"#$22"},{"a":26296,"t":"code","b":[208,13],"m":"bne","oa":26311,"o":"b_66C7"},{"a":26298,"t":"code","b":[169,45],"m":"lda","o":"#$2D"},{"a":26300,"t":"code","b":[208,9],"m":"bne","oa":26311,"o":"b_66C7"},{"a":26302,"l":"b_66BE","t":"code","b":[198,76],"m":"dec","oa":76,"x":[26333,26337],"o":"line_count"},{"a":26304,"l":"b_66C0","t":"code","b":[32,11,103],"m":"jsr","oa":26379,"x":[26292,26340],"o":"print_line"},{"a":26307,"l":"b_66C3","t":"code","b":[32,87,84],"m":"jsr","oa":21591,"x":[26282,26319,26329,26377],"o":"GETER"},{"a":26310,"t":"code","b":[96],"m":"rts"},{"a":26311,"l":"b_66C7","t":"code","b":[166,76],"m":"ldx","oa":76,"x":[26296,26300],"o":"line_count"},{"a":26313,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":26315,"t":"code","b":[208,4],"m":"bne","oa":26321,"o":"b_66D1"},{"a":26317,"t":"code","b":[224,0],"m":"cpx","o":"#$00"},{"a":26319,"t":"code","b":[240,242],"m":"beq","oa":26307,"o":"b_66C3"},{"a":26321,"l":"b_66D1","t":"code","b":[230,76],"m":"inc","oa":76,"x":[26315],"o":"line_count"},{"a":26323,"t":"code","b":[157,168,30],"m":"sta","oa":7848,"o":"out_line,x"},{"a":26326,"t":"code","b":[236,122,101],"m":"cpx","oa":25978,"o":"line_width"},{"a":26329,"t":"code","b":[208,232],"m":"bne","oa":26307,"o":"b_66C3"},{"a":26331,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":26333,"t":"code","b":[240,223],"m":"beq","oa":26302,"o":"b_66BE"},{"a":26335,"t":"code","b":[201,46],"m":"cmp","o":"#$2E"},{"a":26337,"t":"code","b":[240,219],"m":"beq","oa":26302,"o":"b_66BE"},{"a":26339,"l":"b_66E3","t":"code","b":[202],"m":"dex","x":[26347]},{"a":26340,"t":"code","b":[240,218],"m":"beq","oa":26304,"o":"b_66C0"},{"a":26342,"t":"code","b":[189,168,30],"m":"lda","oa":7848,"o":"out_line,x"},{"a":26345,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":26347,"t":"code","b":[208,246],"m":"bne","oa":26339,"o":"b_66E3"},{"a":26349,"t":"code","b":[134,76],"m":"stx","oa":76,"o":"line_count"},{"a":26351,"t":"code","b":[142,162,30],"m":"stx","oa":7842,"o":"temp_count"},{"a":26354,"t":"code","b":[32,11,103],"m":"jsr","oa":26379,"o":"print_line"},{"a":26357,"t":"code","b":[174,162,30],"m":"ldx","oa":7842,"o":"temp_count"},{"a":26360,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":26362,"l":"b_66FA","t":"code","b":[232],"m":"inx","x":[26373]},{"a":26363,"t":"code","b":[189,168,30],"m":"lda","oa":7848,"o":"out_line,x"},{"a":26366,"t":"code","b":[153,168,30],"m":"sta","oa":7848,"o":"out_line,y"},{"a":26369,"t":"code","b":[200],"m":"iny"},{"a":26370,"t":"code","b":[236,122,101],"m":"cpx","oa":25978,"o":"line_width"},{"a":26373,"t":"code","b":[208,243],"m":"bne","oa":26362,"o":"b_66FA"},{"a":26375,"t":"code","b":[132,76],"m":"sty","oa":76,"o":"line_count"},{"a":26377,"t":"code","b":[240,184],"m":"beq","oa":26307,"o":"b_66C3"},{"a":26379,"l":"print_line","c":"Print the line buffer. With the picture on, a page is six lines: the sixth since the last command was typed stops with a beep until a key is pressed ($69C8), and before each new line screen row 20 is painted in the picture's colours ($54C9), so that the row the KERNAL then scrolls into the picture area matches it. Each character goes to the KERNAL's CHROUT: the colour codes $9C, $90 and $9E as they are, the others with bit 7 cleared and capitals and small letters swapped, since the game's text is ASCII and the C64's lower-case set has them the other way round","t":"code","b":[173,34,31],"m":"lda","oa":7970,"x":[26304,26354],"o":"picture_flag"},{"a":26382,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":26384,"t":"code","b":[208,33],"m":"bne","oa":26419,"o":"b_6733"},{"a":26386,"t":"code","b":[166,76],"m":"ldx","oa":76,"o":"line_count"},{"a":26388,"t":"code","b":[240,103],"m":"beq","oa":26493,"o":"buffer_done"},{"a":26390,"t":"code","b":[238,37,31],"m":"inc","oa":7973,"o":"page_lines"},{"a":26393,"t":"code","b":[173,37,31],"m":"lda","oa":7973,"o":"page_lines"},{"a":26396,"t":"code","b":[201,6],"m":"cmp","o":"#$06"},{"a":26398,"t":"code","b":[208,8],"m":"bne","oa":26408,"o":"b_6728"},{"a":26400,"t":"code","b":[32,200,105],"m":"jsr","oa":27080,"o":"page_pause"},{"a":26403,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26405,"t":"code","b":[141,37,31],"m":"sta","oa":7973,"o":"page_lines"},{"a":26408,"l":"b_6728","t":"code","b":[32,201,84],"m":"jsr","oa":21705,"x":[26398],"o":"colour_row_slot"},{"a":26411,"t":"code","b":[169,13],"m":"lda","o":"#$0D"},{"a":26413,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26416,"t":"code","b":[76,60,103],"m":"jmp","oa":26428,"o":"print_buffer"},{"a":26419,"l":"b_6733","t":"code","b":[169,13],"m":"lda","x":[26384],"o":"#$0D"},{"a":26421,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26424,"t":"code","b":[166,76],"m":"ldx","oa":76,"o":"line_count"},{"a":26426,"t":"code","b":[240,65],"m":"beq","oa":26493,"o":"buffer_done"},{"a":26428,"l":"print_buffer","c":"Print the buffer's characters one by one, calling the hook at $678C after each","t":"code","b":[162,0],"m":"ldx","x":[26416],"o":"#$00"},{"a":26430,"l":"b_673E","t":"code","b":[189,168,30],"m":"lda","oa":7848,"x":[26491],"o":"out_line,x"},{"a":26433,"t":"code","b":[201,156],"m":"cmp","o":"#$9C"},{"a":26435,"t":"code","b":[240,33],"m":"beq","oa":26470,"o":"b_6766"},{"a":26437,"t":"code","b":[201,144],"m":"cmp","o":"#$90"},{"a":26439,"t":"code","b":[240,29],"m":"beq","oa":26470,"o":"b_6766"},{"a":26441,"t":"code","b":[201,158],"m":"cmp","o":"#$9E"},{"a":26443,"t":"code","b":[240,25],"m":"beq","oa":26470,"o":"b_6766"},{"a":26445,"t":"code","b":[41,127],"m":"and","o":"#$7F"},{"a":26447,"t":"code","b":[157,168,30],"m":"sta","oa":7848,"o":"out_line,x"},{"a":26450,"t":"code","b":[201,128],"m":"cmp","o":"#$80"},{"a":26452,"t":"code","b":[176,16],"m":"bcs","oa":26470,"o":"b_6766"},{"a":26454,"t":"code","b":[201,96],"m":"cmp","o":"#$60"},{"a":26456,"t":"code","b":[144,5],"m":"bcc","oa":26463,"o":"b_675F"},{"a":26458,"t":"code","b":[56],"m":"sec"},{"a":26459,"t":"code","b":[233,32],"m":"sbc","o":"#$20"},{"a":26461,"t":"code","b":[208,7],"m":"bne","oa":26470,"o":"b_6766"},{"a":26463,"l":"b_675F","t":"code","b":[201,64],"m":"cmp","x":[26456],"o":"#$40"},{"a":26465,"t":"code","b":[144,3],"m":"bcc","oa":26470,"o":"b_6766"},{"a":26467,"t":"code","b":[24],"m":"clc"},{"a":26468,"t":"code","b":[105,32],"m":"adc","o":"#$20"},{"a":26470,"l":"b_6766","t":"code","b":[142,164,30],"m":"stx","oa":7844,"x":[26435,26439,26443,26452,26461,26465],"o":"temp_x"},{"a":26473,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26476,"t":"code","b":[174,164,30],"m":"ldx","oa":7844,"o":"temp_x"},{"a":26479,"t":"code","b":[189,168,30],"m":"lda","oa":7848,"o":"out_line,x"},{"a":26482,"t":"code","b":[32,140,103],"m":"jsr","oa":26508,"o":"output_hook"},{"a":26485,"t":"code","b":[174,164,30],"m":"ldx","oa":7844,"o":"temp_x"},{"a":26488,"t":"code","b":[232],"m":"inx"},{"a":26489,"t":"code","b":[228,76],"m":"cpx","oa":76,"o":"line_count"},{"a":26491,"t":"code","b":[208,193],"m":"bne","oa":26430,"o":"b_673E"},{"a":26493,"l":"buffer_done","c":"Done. (The comparison with the width here goes to the same place either way.) Empty the buffer and call the hook once more with a space","t":"code","b":[236,122,101],"m":"cpx","oa":25978,"x":[26388,26426],"o":"line_width"},{"a":26496,"t":"code","b":[240,0],"m":"beq","oa":26498,"o":"b_6782"},{"a":26498,"l":"b_6782","t":"code","b":[162,0],"m":"ldx","x":[26496],"o":"#$00"},{"a":26500,"t":"code","b":[134,76],"m":"stx","oa":76,"o":"line_count"},{"a":26502,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":26504,"t":"code","b":[32,140,103],"m":"jsr","oa":26508,"o":"output_hook"},{"a":26507,"t":"code","b":[96],"m":"rts"},{"a":26508,"l":"output_hook","c":"An RTS: a hook the output and the line reader call after each character, which does nothing here","t":"code","b":[96],"m":"rts","x":[26482,26504,26752,26767]},{"a":26509,"l":"cursor_char","c":"The character that draws the line reader's cursor: $DF, and $20 after each flash, since each flash flips every bit","t":"byte","b":[223],"x":[26593,26598]},{"a":26510,"l":"wait_line","c":"Wait for RETURN: read a line ($1E3E emptied first, so it always waits), keeping what was typed in $1E3E","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25974],"o":"SAVER"},{"a":26513,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":26516,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":26519,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26521,"t":"code","b":[141,62,30],"m":"sta","oa":7742,"o":"line_buffer"},{"a":26524,"t":"code","b":[240,9],"m":"beq","oa":26535,"o":"b_67A7"},{"a":26526,"l":"readk","c":"READK: read a typed line into $1E3E. Returns at once if the buffer already holds a line","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25941],"o":"SAVER"},{"a":26529,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":26532,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":26535,"l":"b_67A7","t":"code","b":[173,62,30],"m":"lda","oa":7742,"x":[26524],"o":"line_buffer"},{"a":26538,"t":"code","b":[240,3],"m":"beq","oa":26543,"o":"new_line"},{"a":26540,"t":"code","b":[76,123,104],"m":"jmp","oa":26747,"o":"line_done"},{"a":26543,"l":"new_line","c":"Clear the line buffer's 25 bytes and the six-line page count, start a new line, and point HL at the buffer","t":"code","b":[169,0],"m":"lda","x":[26538],"o":"#$00"},{"a":26545,"t":"code","b":[141,37,31],"m":"sta","oa":7973,"o":"page_lines"},{"a":26548,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":26551,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":26554,"c":"$1E3D, the byte before the line buffer: the clearing counts down from 25 to 1, so the first byte cleared is $1E3E","t":"addr","b":[61,30],"oa":7741,"o":"line_before"},{"a":26556,"c":"Clear $1E3E-$1E56","t":"code","b":[160,25],"m":"ldy","o":"#$19"},{"a":26558,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26560,"l":"b_67C0","t":"code","b":[145,78],"m":"sta","oa":78,"x":[26563],"o":"(reg_hl),y"},{"a":26562,"t":"code","b":[136],"m":"dey"},{"a":26563,"t":"code","b":[208,251],"m":"bne","oa":26560,"o":"b_67C0"},{"a":26565,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":26568,"c":"$1E3E, the line buffer, where the typed characters go","t":"addr","b":[62,30],"oa":7742,"o":"line_buffer"},{"a":26570,"l":"flash_cursor","c":"Start the cursor's delay again: DE counts 1,200 polls of the keyboard between flashes","t":"code","b":[32,90,84],"m":"jsr","oa":21594,"x":[26609,26731,26786],"o":"PUSHL"},{"a":26573,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":26576,"c":"1,200 ($04B0), the cursor's delay in polls of the keyboard","t":"word","b":[176,4],"d":[1200]},{"a":26578,"c":"DE = the delay","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":26581,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":26584,"l":"poll_keyboard","c":"Poll the keyboard. Each poll moves $1F17 on, which the chances use ($5F39). In the demonstration, a real key ends it and restarts the game; otherwise the demonstration's next character stands in for the key. Keys the filter ($6B4B) refuses are ignored. RETURN ends the line, DEL rubs out the last character, and character $FF, which the C64's KERNAL never queues from the keyboard, is an exit ($6844)","t":"code","b":[32,102,84],"m":"jsr","oa":21606,"x":[26644,26651,26666,26680],"o":"dec_de_slot"},{"a":26587,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"reg_de"},{"a":26589,"t":"code","b":[5,81],"m":"ora","oa":81,"o":"reg_de_hi"},{"a":26591,"t":"code","b":[208,19],"m":"bne","oa":26612,"o":"b_67F4"},{"a":26593,"t":"code","b":[173,141,103],"m":"lda","oa":26509,"o":"cursor_char"},{"a":26596,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":26598,"t":"code","b":[141,141,103],"m":"sta","oa":26509,"o":"cursor_char"},{"a":26601,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26604,"t":"code","b":[169,157],"m":"lda","o":"#$9D"},{"a":26606,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26609,"t":"code","b":[76,202,103],"m":"jmp","oa":26570,"o":"flash_cursor"},{"a":26612,"l":"b_67F4","t":"code","b":[32,228,255],"m":"jsr","oa":65508,"x":[26591],"o":"KERNAL_GETIN"},{"a":26615,"t":"code","b":[238,23,31],"m":"inc","oa":7959,"o":"random_total"},{"a":26618,"t":"code","b":[174,40,31],"m":"ldx","oa":7976,"o":"demo_mode"},{"a":26621,"t":"code","b":[240,18],"m":"beq","oa":26641,"o":"b_6811"},{"a":26623,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":26625,"t":"code","b":[240,11],"m":"beq","oa":26638,"o":"b_680E"},{"a":26627,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26629,"t":"code","b":[141,40,31],"m":"sta","oa":7976,"o":"demo_mode"},{"a":26632,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":26634,"t":"code","b":[154],"m":"txs"},{"a":26635,"t":"code","b":[76,156,101],"m":"jmp","oa":26012,"o":"restart"},{"a":26638,"l":"b_680E","t":"code","b":[32,210,84],"m":"jsr","oa":21714,"x":[26625],"o":"demo_key_slot"},{"a":26641,"l":"b_6811","t":"code","b":[234],"m":"nop","x":[26621]},{"a":26642,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":26644,"t":"code","b":[240,194],"m":"beq","oa":26584,"o":"poll_keyboard"},{"a":26646,"t":"code","b":[32,75,107],"m":"jsr","oa":27467,"o":"key_filter"},{"a":26649,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":26651,"t":"code","b":[240,187],"m":"beq","oa":26584,"o":"poll_keyboard"},{"a":26653,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":26655,"t":"code","b":[240,77],"m":"beq","oa":26734,"o":"key_return"},{"a":26657,"t":"code","b":[201,20],"m":"cmp","o":"#$14"},{"a":26659,"t":"code","b":[208,22],"m":"bne","oa":26683,"o":"b_683B"},{"a":26661,"t":"code","b":[32,123,84],"m":"jsr","oa":21627,"o":"cmp_hl_imm_slot"},{"a":26664,"c":"$1E3E, the start of the line: DEL does nothing there","t":"addr","b":[62,30],"oa":7742,"o":"line_buffer"},{"a":26666,"c":"Rub out: back one character, print DEL, clear the byte","t":"code","b":[240,172],"m":"beq","oa":26584,"o":"poll_keyboard"},{"a":26668,"t":"code","b":[32,75,84],"m":"jsr","oa":21579,"o":"DECHL"},{"a":26671,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26674,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":26676,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26678,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":26680,"t":"code","b":[76,216,103],"m":"jmp","oa":26584,"o":"poll_keyboard"},{"a":26683,"l":"b_683B","t":"code","b":[72],"m":"pha","x":[26659]},{"a":26684,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26687,"t":"code","b":[104],"m":"pla"},{"a":26688,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":26690,"t":"code","b":[208,49],"m":"bne","oa":26741,"o":"b_6875"},{"a":26692,"l":"developer_exit","c":"Character $FF: picture off, wait until the raster's line is under 128 and then until it reaches 128, switch the raster interrupt off, put the KERNAL's interrupt back and execute a BRK, which with the KERNAL's own BRK handling ends in BASIC. Nothing on a C64 reaches it: its KERNAL drops $FF before it reaches the keyboard queue ($EB30)","t":"code","b":[32,174,84],"m":"jsr","oa":21678,"o":"graphics_off_slot"},{"a":26695,"l":"b_6847","t":"code","b":[173,18,208],"m":"lda","x":[26698],"o":"vic_raster"},{"a":26698,"t":"code","b":[48,251],"m":"bmi","oa":26695,"o":"b_6847"},{"a":26700,"l":"b_684C","t":"code","b":[173,18,208],"m":"lda","x":[26703],"o":"vic_raster"},{"a":26703,"t":"code","b":[16,251],"m":"bpl","oa":26700,"o":"b_684C"},{"a":26705,"t":"code","b":[120],"m":"sei"},{"a":26706,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26708,"t":"code","b":[141,26,208],"m":"sta","o":"vic_irq_enable"},{"a":26711,"t":"code","b":[173,32,107],"m":"lda","oa":27424,"o":"kernal_irq"},{"a":26714,"t":"code","b":[141,20,3],"m":"sta","oa":788,"o":"irq_vector"},{"a":26717,"t":"code","b":[173,33,107],"m":"lda","oa":27425,"o":"kernal_irq_hi"},{"a":26720,"t":"code","b":[141,21,3],"m":"sta","oa":789,"o":"irq_vector_hi"},{"a":26723,"t":"code","b":[88],"m":"cli"},{"a":26724,"t":"code","b":[0],"m":"brk"},{"a":26725,"l":"after_brk","c":"Code no path reaches: the interrupt reinstalled and the picture put back, then the line read on. A return from the BRK would come back at $6866, the byte after this one, so only a machine-code monitor told to go to $6865 would run it","t":"code","b":[32,35,107],"m":"jsr","oa":27427,"o":"set_irq"},{"a":26728,"t":"code","b":[32,171,84],"m":"jsr","oa":21675,"o":"graphics_on_slot"},{"a":26731,"t":"code","b":[76,202,103],"m":"jmp","oa":26570,"o":"flash_cursor"},{"a":26734,"l":"key_return","c":"RETURN: print a space over the cursor and end the line","t":"code","b":[72],"m":"pha","x":[26655]},{"a":26735,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":26737,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26740,"t":"code","b":[104],"m":"pla"},{"a":26741,"l":"b_6875","t":"code","b":[162,0],"m":"ldx","x":[26690],"o":"#$00"},{"a":26743,"t":"code","b":[201,13],"m":"cmp","o":"#$0D"},{"a":26745,"t":"code","b":[208,18],"m":"bne","oa":26765,"o":"key_other"},{"a":26747,"l":"line_done","c":"The line is done: start a new line and return","t":"code","b":[32,51,84],"m":"jsr","oa":21555,"x":[26540,26784],"o":"PUTCR"},{"a":26750,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":26752,"t":"code","b":[32,140,103],"m":"jsr","oa":26508,"o":"output_hook"},{"a":26755,"t":"code","b":[32,117,84],"m":"jsr","oa":21621,"o":"pull_de_slot"},{"a":26758,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":26761,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":26764,"t":"code","b":[96],"m":"rts"},{"a":26765,"l":"key_other","c":"Any other key: printed, stored, the counters $1F17 and $1F18 moved on; the line ends by itself at 14 characters ($1E4C)","t":"code","b":[129,78],"m":"sta","oa":78,"x":[26745],"o":"(reg_hl,x)"},{"a":26767,"t":"code","b":[32,140,103],"m":"jsr","oa":26508,"o":"output_hook"},{"a":26770,"t":"code","b":[238,23,31],"m":"inc","oa":7959,"o":"random_total"},{"a":26773,"t":"code","b":[238,24,31],"m":"inc","oa":7960,"o":"typed_count"},{"a":26776,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":26779,"t":"code","b":[32,123,84],"m":"jsr","oa":21627,"o":"cmp_hl_imm_slot"},{"a":26782,"c":"$1E4C, 14 bytes into the line buffer: the 14th character ends the line","t":"addr","b":[76,30],"oa":7756,"o":"line_limit"},{"a":26784,"c":"Read on, or end the line","t":"code","b":[240,217],"m":"beq","oa":26747,"o":"line_done"},{"a":26786,"t":"code","b":[76,202,103],"m":"jmp","oa":26570,"o":"flash_cursor"},{"a":26789,"l":"cls","c":"CLS: clear the screen ($93), put the cursor at the start of row 24, and begin a new six-line page","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[25944],"o":"SAVER"},{"a":26792,"t":"code","b":[169,147],"m":"lda","o":"#$93"},{"a":26794,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":26797,"t":"code","b":[24],"m":"clc"},{"a":26798,"t":"code","b":[162,24],"m":"ldx","o":"#$18"},{"a":26800,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":26802,"t":"code","b":[32,240,255],"m":"jsr","oa":65520,"o":"KERNAL_PLOT"},{"a":26805,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26807,"t":"code","b":[141,37,31],"m":"sta","oa":7973,"o":"page_lines"},{"a":26810,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":26813,"t":"code","b":[96],"m":"rts"},{"a":26814,"l":"saver","c":"SAVER: keep A, X, Y and the flags under the caller's return address. The caller's own return address is taken off the stack, the flags, A, X and Y pushed, and the routine returns through $1F0E to the instruction after the call, with nothing changed. GETER undoes it","t":"code","b":[141,12,31],"m":"sta","oa":7948,"x":[25953],"o":"saver_a"},{"a":26817,"t":"code","b":[8],"m":"php"},{"a":26818,"t":"code","b":[104],"m":"pla"},{"a":26819,"t":"code","b":[141,13,31],"m":"sta","oa":7949,"o":"saver_p"},{"a":26822,"t":"code","b":[104],"m":"pla"},{"a":26823,"t":"code","b":[141,14,31],"m":"sta","oa":7950,"o":"saver_ret_lo"},{"a":26826,"t":"code","b":[104],"m":"pla"},{"a":26827,"t":"code","b":[141,15,31],"m":"sta","oa":7951,"o":"saver_ret_hi"},{"a":26830,"t":"code","b":[238,14,31],"m":"inc","oa":7950,"o":"saver_ret_lo"},{"a":26833,"t":"code","b":[208,3],"m":"bne","oa":26838,"o":"b_68D6"},{"a":26835,"t":"code","b":[238,15,31],"m":"inc","oa":7951,"o":"saver_ret_hi"},{"a":26838,"l":"b_68D6","t":"code","b":[234],"m":"nop","x":[26833]},{"a":26839,"t":"code","b":[173,13,31],"m":"lda","oa":7949,"o":"saver_p"},{"a":26842,"t":"code","b":[72],"m":"pha"},{"a":26843,"t":"code","b":[173,12,31],"m":"lda","oa":7948,"o":"saver_a"},{"a":26846,"t":"code","b":[72],"m":"pha"},{"a":26847,"t":"code","b":[138],"m":"txa"},{"a":26848,"t":"code","b":[72],"m":"pha"},{"a":26849,"t":"code","b":[152],"m":"tya"},{"a":26850,"t":"code","b":[72],"m":"pha"},{"a":26851,"t":"code","b":[173,13,31],"m":"lda","oa":7949,"o":"saver_p"},{"a":26854,"t":"code","b":[72],"m":"pha"},{"a":26855,"t":"code","b":[173,12,31],"m":"lda","oa":7948,"o":"saver_a"},{"a":26858,"t":"code","b":[40],"m":"plp"},{"a":26859,"t":"code","b":[108,14,31],"m":"jmp","oa":7950,"o":"(saver_ret_lo)"},{"a":26862,"l":"geter","c":"GETER: take the return address off, pull Y, X, A and the flags that SAVER pushed, and go on after the call; the caller's next RTS then returns from the caller with every register as it was","t":"code","b":[104],"m":"pla","x":[25956]},{"a":26863,"t":"code","b":[141,14,31],"m":"sta","oa":7950,"o":"saver_ret_lo"},{"a":26866,"t":"code","b":[104],"m":"pla"},{"a":26867,"t":"code","b":[141,15,31],"m":"sta","oa":7951,"o":"saver_ret_hi"},{"a":26870,"t":"code","b":[238,14,31],"m":"inc","oa":7950,"o":"saver_ret_lo"},{"a":26873,"t":"code","b":[208,3],"m":"bne","oa":26878,"o":"b_68FE"},{"a":26875,"t":"code","b":[238,15,31],"m":"inc","oa":7951,"o":"saver_ret_hi"},{"a":26878,"l":"b_68FE","t":"code","b":[234],"m":"nop","x":[26873]},{"a":26879,"t":"code","b":[104],"m":"pla"},{"a":26880,"t":"code","b":[168],"m":"tay"},{"a":26881,"t":"code","b":[104],"m":"pla"},{"a":26882,"t":"code","b":[170],"m":"tax"},{"a":26883,"t":"code","b":[104],"m":"pla"},{"a":26884,"t":"code","b":[40],"m":"plp"},{"a":26885,"t":"code","b":[108,14,31],"m":"jmp","oa":7950,"o":"(saver_ret_lo)"},{"a":26888,"l":"init_state","c":"Set the game to the database's starting state: the pointer at $1C3A to the item locations ($1C3C), each item's location from $805A, the room from $8074, the light's turns from $8078, the check byte from $8064 ($1E3C), all 32 flags clear, the tester off and the darkness note ($1F24) clear. The counter, the saved counters and the saved rooms are left as they were","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[25971],"o":"SETHLI"},{"a":26891,"c":"$1C3C, where the items' locations start","t":"addr","b":[60,28],"oa":7228,"o":"item_locations"},{"a":26893,"c":"Store it in $1C3A, the pointer every item lookup reads","t":"code","b":[32,141,84],"m":"jsr","oa":21645,"o":"store_hl_slot"},{"a":26896,"c":"$1C3A, the pointer, given the address of the locations","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":26898,"c":"The check byte, then the number of bytes to copy: the last item's number ($806C) times two","t":"code","b":[173,100,128],"m":"lda","oa":32868,"o":"db_check"},{"a":26901,"t":"code","b":[141,60,30],"m":"sta","oa":7740,"o":"check_byte"},{"a":26904,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":26907,"c":"The last item's number, from $806C","t":"addr","b":[108,128],"oa":32876,"o":"db_last_item"},{"a":26909,"c":"BC = twice it, the count for the copy","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":26912,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":26915,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":26918,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":26921,"c":"The pointer at $1C3A: where the locations go","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":26923,"c":"DE = the locations","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":26926,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":26929,"c":"The address of the starting locations, from $805A","t":"addr","b":[90,128],"oa":32858,"o":"db_start_locations"},{"a":26931,"c":"Copy them (two bytes an item, the copy one byte short of the last item's second), then the room and the light; clear the flags","t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":26933,"t":"code","b":[132,76],"m":"sty","oa":76,"o":"line_count"},{"a":26935,"l":"b_6937","t":"code","b":[177,78],"m":"lda","oa":78,"x":[26950],"o":"(reg_hl),y"},{"a":26937,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":26939,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":26942,"t":"code","b":[32,105,84],"m":"jsr","oa":21609,"o":"inc_de_slot"},{"a":26945,"t":"code","b":[32,96,84],"m":"jsr","oa":21600,"o":"DECBC"},{"a":26948,"t":"code","b":[165,83],"m":"lda","oa":83,"o":"reg_bc_hi"},{"a":26950,"t":"code","b":[16,239],"m":"bpl","oa":26935,"o":"b_6937"},{"a":26952,"t":"code","b":[173,116,128],"m":"lda","oa":32884,"o":"db_start_room"},{"a":26955,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":26958,"t":"code","b":[173,117,128],"m":"lda","oa":32885,"o":"db_start_room_hi"},{"a":26961,"t":"code","b":[141,35,28],"m":"sta","oa":7203,"o":"room_hi"},{"a":26964,"t":"code","b":[173,120,128],"m":"lda","oa":32888,"o":"db_light_turns"},{"a":26967,"t":"code","b":[141,159,30],"m":"sta","oa":7839,"o":"light_turns"},{"a":26970,"t":"code","b":[173,121,128],"m":"lda","oa":32889,"o":"db_light_turns_hi"},{"a":26973,"t":"code","b":[141,160,30],"m":"sta","oa":7840,"o":"light_turns_hi"},{"a":26976,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":26978,"t":"code","b":[141,36,31],"m":"sta","oa":7972,"o":"dark_note"},{"a":26981,"t":"code","b":[141,20,31],"m":"sta","oa":7956,"o":"tester_mode"},{"a":26984,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":26987,"c":"$1C02, the first of the 32 flags","t":"addr","b":[2,28],"oa":7170,"o":"flags"},{"a":26989,"c":"Clear $1C02-$1C21","t":"code","b":[160,31],"m":"ldy","o":"#$1F"},{"a":26991,"l":"b_696F","t":"code","b":[145,78],"m":"sta","oa":78,"x":[26994],"o":"(reg_hl),y"},{"a":26993,"t":"code","b":[136],"m":"dey"},{"a":26994,"t":"code","b":[16,251],"m":"bpl","oa":26991,"o":"b_696F"},{"a":26996,"t":"code","b":[96],"m":"rts"},{"a":26997,"l":"find_word","c":"Look up the word at $1E70 in the word list HL points at: 5-byte entries, a lead byte and four letters padded with zeros, $8068 + 1 of them. A lead byte of '*' marks a synonym, which stands for the nearest entry above it without one. Found: Z set, the entry's number in $1E89, and the main word's four letters copied over the first four of $1E70. Not found: Z clear","t":"code","b":[173,104,128],"m":"lda","oa":32872,"x":[25968],"o":"db_last_word"},{"a":27000,"t":"code","b":[141,138,30],"m":"sta","oa":7818,"o":"word_count"},{"a":27003,"t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":27006,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":27008,"t":"code","b":[141,137,30],"m":"sta","oa":7817,"o":"word_index"},{"a":27011,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27014,"c":"$1E70, the word to look up; HL points one byte before it, so letters 1 to 4 of an entry line up","t":"addr","b":[112,30],"oa":7792,"o":"typed_word"},{"a":27016,"c":"Compare letters 4 to 1; on a match step back past synonyms, and copy the main word's letters","t":"code","b":[32,75,84],"m":"jsr","oa":21579,"o":"DECHL"},{"a":27019,"l":"b_698B","t":"code","b":[172,102,128],"m":"ldy","oa":32870,"x":[27077],"o":"db_word_length"},{"a":27022,"l":"b_698E","t":"code","b":[177,78],"m":"lda","oa":78,"x":[27029],"o":"(reg_hl),y"},{"a":27024,"t":"code","b":[209,80],"m":"cmp","oa":80,"o":"(reg_de),y"},{"a":27026,"t":"code","b":[208,34],"m":"bne","oa":27062,"o":"b_69B6"},{"a":27028,"t":"code","b":[136],"m":"dey"},{"a":27029,"t":"code","b":[208,247],"m":"bne","oa":27022,"o":"b_698E"},{"a":27031,"l":"b_6997","t":"code","b":[177,80],"m":"lda","oa":80,"x":[27049],"o":"(reg_de),y"},{"a":27033,"t":"code","b":[201,42],"m":"cmp","o":"#$2A"},{"a":27035,"t":"code","b":[208,14],"m":"bne","oa":27051,"o":"b_69AB"},{"a":27037,"t":"code","b":[174,102,128],"m":"ldx","oa":32870,"o":"db_word_length"},{"a":27040,"l":"b_69A0","t":"code","b":[32,102,84],"m":"jsr","oa":21606,"x":[27044],"o":"dec_de_slot"},{"a":27043,"t":"code","b":[202],"m":"dex"},{"a":27044,"t":"code","b":[16,250],"m":"bpl","oa":27040,"o":"b_69A0"},{"a":27046,"t":"code","b":[206,137,30],"m":"dec","oa":7817,"o":"word_index"},{"a":27049,"t":"code","b":[208,236],"m":"bne","oa":27031,"o":"b_6997"},{"a":27051,"l":"b_69AB","t":"code","b":[172,102,128],"m":"ldy","oa":32870,"x":[27035],"o":"db_word_length"},{"a":27054,"l":"b_69AE","t":"code","b":[177,80],"m":"lda","oa":80,"x":[27059],"o":"(reg_de),y"},{"a":27056,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":27058,"t":"code","b":[136],"m":"dey"},{"a":27059,"t":"code","b":[208,249],"m":"bne","oa":27054,"o":"b_69AE"},{"a":27061,"t":"code","b":[96],"m":"rts"},{"a":27062,"l":"b_69B6","t":"code","b":[172,102,128],"m":"ldy","oa":32870,"x":[27026],"o":"db_word_length"},{"a":27065,"l":"b_69B9","t":"code","b":[32,105,84],"m":"jsr","oa":21609,"x":[27069],"o":"inc_de_slot"},{"a":27068,"t":"code","b":[136],"m":"dey"},{"a":27069,"t":"code","b":[16,250],"m":"bpl","oa":27065,"o":"b_69B9"},{"a":27071,"t":"code","b":[238,137,30],"m":"inc","oa":7817,"o":"word_index"},{"a":27074,"t":"code","b":[206,138,30],"m":"dec","oa":7818,"o":"word_count"},{"a":27077,"t":"code","b":[16,196],"m":"bpl","oa":27019,"o":"b_698B"},{"a":27079,"t":"code","b":[96],"m":"rts"},{"a":27080,"l":"page_pause","c":"The pause at the end of a six-line page. Copies X + 1 bytes from $6A0A to the sound chip from $D400 (X is the length of the line about to print, so a short line sets only part of voice 1), sets the volume to 6, sounds voice 1 for a moment and stops it. In the demonstration it then waits about a second (5 x 255 x 255 loops); otherwise it waits until no key is held and a key is pressed, and that key is used up","t":"code","b":[189,10,106],"m":"lda","oa":27146,"x":[26400,27087],"o":"beep_settings,x"},{"a":27083,"t":"code","b":[157,0,212],"m":"sta","o":"sid_v1_freq_lo,x"},{"a":27086,"t":"code","b":[202],"m":"dex"},{"a":27087,"t":"code","b":[16,247],"m":"bpl","oa":27080,"o":"page_pause"},{"a":27089,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":27091,"t":"code","b":[141,24,212],"m":"sta","o":"sid_filter_mode_volume"},{"a":27094,"t":"code","b":[169,17],"m":"lda","o":"#$11"},{"a":27096,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":27099,"l":"b_69DB","t":"code","b":[202],"m":"dex","x":[27100]},{"a":27100,"t":"code","b":[208,253],"m":"bne","oa":27099,"o":"b_69DB"},{"a":27102,"t":"code","b":[169,16],"m":"lda","o":"#$10"},{"a":27104,"t":"code","b":[141,4,212],"m":"sta","o":"sid_v1_control"},{"a":27107,"t":"code","b":[173,40,31],"m":"lda","oa":7976,"o":"demo_mode"},{"a":27110,"t":"code","b":[240,19],"m":"beq","oa":27131,"o":"b_69FB"},{"a":27112,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":27114,"l":"b_69EA","t":"code","b":[162,255],"m":"ldx","x":[27127],"o":"#$FF"},{"a":27116,"l":"b_69EC","t":"code","b":[160,255],"m":"ldy","x":[27122],"o":"#$FF"},{"a":27118,"l":"b_69EE","t":"code","b":[136],"m":"dey","x":[27119]},{"a":27119,"t":"code","b":[208,253],"m":"bne","oa":27118,"o":"b_69EE"},{"a":27121,"t":"code","b":[202],"m":"dex"},{"a":27122,"t":"code","b":[208,248],"m":"bne","oa":27116,"o":"b_69EC"},{"a":27124,"t":"code","b":[56],"m":"sec"},{"a":27125,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":27127,"t":"code","b":[208,241],"m":"bne","oa":27114,"o":"b_69EA"},{"a":27129,"t":"code","b":[240,14],"m":"beq","oa":27145,"o":"r_6A09"},{"a":27131,"l":"b_69FB","t":"code","b":[32,228,255],"m":"jsr","oa":65508,"x":[27110,27136],"o":"KERNAL_GETIN"},{"a":27134,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":27136,"t":"code","b":[208,249],"m":"bne","oa":27131,"o":"b_69FB"},{"a":27138,"l":"b_6A02","t":"code","b":[32,228,255],"m":"jsr","oa":65508,"x":[27143],"o":"KERNAL_GETIN"},{"a":27141,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":27143,"t":"code","b":[240,249],"m":"beq","oa":27138,"o":"b_6A02"},{"a":27145,"l":"r_6A09","t":"code","b":[96],"m":"rts","x":[27129]},{"a":27146,"l":"beep_settings","c":"Voice 1 for the page pause's beep, as copied to $D400-$D406: frequency $204E, pulse width 0, control $10 (triangle), attack and decay 0, sustain 15 and release 10","t":"byte","b":[78,32,0,0,16,0,250],"x":[27080]},{"a":27153,"l":"close_up_verb","c":"39, the verb LOOK, for which certain nouns show a close-up picture ($6A51)","t":"byte","b":[39],"x":[27219]},{"a":27154,"l":"close_up_items","c":"The item each close-up needs carried or here, one a noun in $6A32: items 11, 18, 17, 20, 24, 33, 47, 27 and 18 (the dome, the bio gem, the egg, the ants, the bees, the ring, the cage, the gas outlet and the bio gem again), the other seven slots unused","t":"byte","b":[11,18,17,20,24,33,47,27],"x":[27251]},{"a":27162,"t":"byte","b":[18,0,0,0,0,0,0,0]},{"a":27170,"l":"close_up_rooms","c":"The picture each close-up shows, as a room number: 90 to 97 and 91 again, loaded as the files R01090-R01097","t":"byte","b":[90,91,92,93,94,95,96,97],"x":[27290]},{"a":27178,"t":"byte","b":[91,0,0,0,0,0,0,0]},{"a":27186,"l":"close_up_nouns","c":"The nouns that show a close-up after LOOK: DOME, BIO, EGG, ANTS, BEES, RING, CAGE, HOLE and GEM (nouns 55, 124, 108, 72, 21, 83, 121, 66 and 41)","t":"byte","b":[55,124,108,72,21,83,121,66],"x":[27231]},{"a":27194,"t":"byte","b":[41,0,0,0,0,0,0,0]},{"a":27202,"l":"txt_hit_return_close","c":"Text \"<HIT RETURN>\" between newlines, in shifted letters, zero-terminated: under a close-up picture","t":"byte","b":[13,188,200,201,212,160,210,197],"x":[27309]},{"a":27210,"t":"byte","b":[212,213,210,206,190,13,0]},{"a":27217,"l":"close_up","c":"LOOK at certain things shows a picture of them: when the verb is LOOK, the noun is one of nine ($6A32), the picture is on, the room is not dark and the item ($6A12) is carried or here, draw the room picture numbered in $6A22, print \"<HIT RETURN>\", wait, and owe the room's picture again. The table is searched from its end, and an entry whose item is absent lets the search go on (GEM and BIO share an item and a picture)","t":"code","b":[165,95],"m":"lda","oa":95,"x":[26079],"o":"verb"},{"a":27219,"t":"code","b":[205,17,106],"m":"cmp","oa":27153,"o":"close_up_verb"},{"a":27222,"t":"code","b":[240,1],"m":"beq","oa":27225,"o":"b_6A59"},{"a":27224,"l":"r_6A58","t":"code","b":[96],"m":"rts","x":[27227,27239,27244,27249]},{"a":27225,"l":"b_6A59","t":"code","b":[165,97],"m":"lda","oa":97,"x":[27222],"o":"noun"},{"a":27227,"t":"code","b":[240,251],"m":"beq","oa":27224,"o":"r_6A58"},{"a":27229,"t":"code","b":[162,15],"m":"ldx","o":"#$0F"},{"a":27231,"l":"b_6A5F","t":"code","b":[221,50,106],"m":"cmp","oa":27186,"x":[27237],"o":"close_up_nouns,x"},{"a":27234,"t":"code","b":[240,5],"m":"beq","oa":27241,"o":"b_6A69"},{"a":27236,"l":"b_6A64","t":"code","b":[202],"m":"dex","x":[27284]},{"a":27237,"t":"code","b":[16,248],"m":"bpl","oa":27231,"o":"b_6A5F"},{"a":27239,"t":"code","b":[48,239],"m":"bmi","oa":27224,"o":"r_6A58"},{"a":27241,"l":"b_6A69","t":"code","b":[173,34,31],"m":"lda","oa":7970,"x":[27234],"o":"picture_flag"},{"a":27244,"t":"code","b":[240,234],"m":"beq","oa":27224,"o":"r_6A58"},{"a":27246,"t":"code","b":[32,177,84],"m":"jsr","oa":21681,"o":"dark_test_slot"},{"a":27249,"t":"code","b":[208,229],"m":"bne","oa":27224,"o":"r_6A58"},{"a":27251,"t":"code","b":[189,18,106],"m":"lda","oa":27154,"o":"close_up_items,x"},{"a":27254,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":27256,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":27258,"t":"code","b":[132,83],"m":"sty","oa":83,"o":"reg_bc_hi"},{"a":27260,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":27263,"c":"The pointer at $1C3A, to find the item's location","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":27265,"c":"Carried or here: draw the close-up as if it were the current room's picture","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":27268,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":27271,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":27273,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":27275,"t":"code","b":[240,9],"m":"beq","oa":27286,"o":"b_6A96"},{"a":27277,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":27280,"t":"code","b":[240,4],"m":"beq","oa":27286,"o":"b_6A96"},{"a":27282,"t":"code","b":[165,97],"m":"lda","oa":97,"o":"noun"},{"a":27284,"t":"code","b":[208,206],"m":"bne","oa":27236,"o":"b_6A64"},{"a":27286,"l":"b_6A96","t":"code","b":[173,34,28],"m":"lda","oa":7202,"x":[27275,27280],"o":"room"},{"a":27289,"t":"code","b":[72],"m":"pha"},{"a":27290,"t":"code","b":[189,34,106],"m":"lda","oa":27170,"o":"close_up_rooms,x"},{"a":27293,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":27296,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":27299,"t":"code","b":[104],"m":"pla"},{"a":27300,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":27303,"t":"code","b":[141,32,31],"m":"sta","oa":7968,"o":"picture_owed_count"},{"a":27306,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27309,"c":"The text \"<HIT RETURN>\" ($6A42), under the close-up","t":"addr","b":[66,106],"oa":27202,"o":"txt_hit_return_close"},{"a":27311,"c":"Print \"<HIT RETURN>\" under the close-up and wait for RETURN","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27314,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":27317,"t":"code","b":[96],"m":"rts"},{"a":27318,"l":"raster_irq","c":"The interrupt handler, through $0314. A raster interrupt splits the screen: one comes at line 192, waits for line 201 and then counts down a delay, so that the switch to text (white border and background, the ROM's characters, $D011 $1B, $D018 $17) lands on line 210, just before character row 20; the next comes at line 247, waits for line 255 and switches back to the bitmap ($D011 $39, $D018 $1F, the picture's background colour from $1F27) on line 265, in the bottom border. With the picture off it stays text. Any other interrupt goes to the KERNAL's handler ($EA31: keyboard, clock, cursor) only when the raster's line number, in its low eight bits, is under 128; the others end here","t":"code","b":[173,25,208],"m":"lda","o":"vic_irq_status"},{"a":27321,"t":"code","b":[141,25,208],"m":"sta","o":"vic_irq_status"},{"a":27324,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":27326,"t":"code","b":[240,76],"m":"beq","oa":27404,"o":"irq_other"},{"a":27328,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":27331,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":27333,"t":"code","b":[208,63],"m":"bne","oa":27398,"o":"irq_text_only"},{"a":27335,"t":"code","b":[238,34,107],"m":"inc","oa":27426,"o":"irq_half"},{"a":27338,"t":"code","b":[173,34,107],"m":"lda","oa":27426,"o":"irq_half"},{"a":27341,"t":"code","b":[41,1],"m":"and","o":"#$01"},{"a":27343,"t":"code","b":[170],"m":"tax"},{"a":27344,"t":"code","b":[189,24,107],"m":"lda","oa":27416,"o":"irq_wait_line,x"},{"a":27347,"l":"b_6AD3","t":"code","b":[205,18,208],"m":"cmp","x":[27350],"o":"vic_raster"},{"a":27350,"t":"code","b":[208,251],"m":"bne","oa":27347,"o":"b_6AD3"},{"a":27352,"t":"code","b":[189,28,107],"m":"lda","oa":27420,"o":"irq_delay,x"},{"a":27355,"t":"code","b":[168],"m":"tay"},{"a":27356,"l":"b_6ADC","t":"code","b":[136],"m":"dey","x":[27357,27402]},{"a":27357,"t":"code","b":[208,253],"m":"bne","oa":27356,"o":"b_6ADC"},{"a":27359,"t":"code","b":[173,39,31],"m":"lda","oa":7975,"o":"picture_background"},{"a":27362,"t":"code","b":[141,31,107],"m":"sta","oa":27423,"o":"irq_colour_bitmap"},{"a":27365,"t":"code","b":[189,20,107],"m":"lda","oa":27412,"o":"irq_tables,x"},{"a":27368,"t":"code","b":[141,17,208],"m":"sta","o":"vic_control1"},{"a":27371,"t":"code","b":[189,22,107],"m":"lda","oa":27414,"o":"irq_next_line,x"},{"a":27374,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":27377,"t":"code","b":[189,26,107],"m":"lda","oa":27418,"o":"irq_d018,x"},{"a":27380,"t":"code","b":[141,24,208],"m":"sta","o":"vic_memory"},{"a":27383,"t":"code","b":[189,30,107],"m":"lda","oa":27422,"o":"irq_colour,x"},{"a":27386,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":27389,"t":"code","b":[141,32,208],"m":"sta","o":"vic_border"},{"a":27392,"l":"b_6B00","t":"code","b":[104],"m":"pla","x":[27407]},{"a":27393,"t":"code","b":[168],"m":"tay"},{"a":27394,"t":"code","b":[104],"m":"pla"},{"a":27395,"t":"code","b":[170],"m":"tax"},{"a":27396,"t":"code","b":[104],"m":"pla"},{"a":27397,"t":"code","b":[64],"m":"rti"},{"a":27398,"l":"irq_text_only","c":"The picture is off: the text settings every time","t":"code","b":[160,1],"m":"ldy","x":[27333],"o":"#$01"},{"a":27400,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":27402,"t":"code","b":[240,208],"m":"beq","oa":27356,"o":"b_6ADC"},{"a":27404,"l":"irq_other","c":"Not a raster interrupt: hand it to the KERNAL when the raster is low enough","t":"code","b":[173,18,208],"m":"lda","x":[27326],"o":"vic_raster"},{"a":27407,"t":"code","b":[48,239],"m":"bmi","oa":27392,"o":"b_6B00"},{"a":27409,"t":"code","b":[108,32,107],"m":"jmp","oa":27424,"o":"(kernal_irq)"},{"a":27412,"l":"irq_tables","c":"The raster split's settings, a pair for each half, text first: $D011 ($1B, $39), the next interrupt's line ($F7, $C0), the line to wait for ($C9, $FF), $D018 ($17, $1F), the delay loop's count ($66, $80), the border and background ($01, and the picture's, copied from $1F27 into $6B1F each time); then the KERNAL's handler's address ($6B20, $EA31 when the snapshot was taken) and the half counter ($6B22)","t":"byte","b":[27,57],"x":[27365]},{"a":27414,"l":"irq_next_line","c":"The raster line of the next interrupt, for each half: $F7, then $C0","t":"byte","b":[247,192],"x":[27371]},{"a":27416,"l":"irq_wait_line","c":"The raster line to wait for before switching, for each half: $C9 then $FF","t":"byte","b":[201,255],"x":[27344]},{"a":27418,"l":"irq_d018","c":"$D018 for each half: $17 for the ROM's characters, $1F for the bitmap","t":"byte","b":[23,31],"x":[27377]},{"a":27420,"l":"irq_delay","c":"The delay loop's count for each half, 102 and 128 turns of five cycles: about eight and ten raster lines after the line waited for, so the switches land on lines 210 and 265 (one frame recorded in VICE)","t":"byte","b":[102,128],"x":[27352]},{"a":27422,"l":"irq_colour","c":"The border and background for each half: $01 white for the text, and the picture's, which the interrupt copies from $1F27 into $6B1F each time","t":"byte","b":[1],"x":[27383]},{"a":27423,"l":"irq_colour_bitmap","c":"The picture half's border and background colour, rewritten from $1F27 on every interrupt","t":"byte","b":[0],"x":[27362]},{"a":27424,"l":"kernal_irq","c":"The interrupt vector found when the split was installed, the KERNAL's $EA31: other interrupts go there, and the developer exit puts it back","t":"byte","b":[49],"x":[26711,27409,27441]},{"a":27425,"l":"kernal_irq_hi","c":"Its high byte","t":"byte","b":[234],"x":[26717,27447]},{"a":27426,"l":"irq_half","c":"Counts the raster interrupts: its low bit says which half's settings come next","t":"byte","b":[201],"x":[27335,27338]},{"a":27427,"l":"set_irq","c":"Install the raster interrupt: the video chip's interrupts off, the raster line 0, the old $0314 vector kept in $6B20 for the handler to pass other interrupts on, $0314 = $6AB6, raster interrupts on","t":"code","b":[120],"m":"sei","x":[26009,26725]},{"a":27428,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":27430,"t":"code","b":[141,26,208],"m":"sta","o":"vic_irq_enable"},{"a":27433,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":27435,"t":"code","b":[141,18,208],"m":"sta","o":"vic_raster"},{"a":27438,"t":"code","b":[173,20,3],"m":"lda","oa":788,"o":"irq_vector"},{"a":27441,"t":"code","b":[141,32,107],"m":"sta","oa":27424,"o":"kernal_irq"},{"a":27444,"t":"code","b":[173,21,3],"m":"lda","oa":789,"o":"irq_vector_hi"},{"a":27447,"t":"code","b":[141,33,107],"m":"sta","oa":27425,"o":"kernal_irq_hi"},{"a":27450,"t":"code","b":[169,106],"m":"lda","o":"#$6A"},{"a":27452,"t":"code","b":[141,21,3],"m":"sta","oa":789,"o":"irq_vector_hi"},{"a":27455,"t":"code","b":[169,182],"m":"lda","o":"#$B6"},{"a":27457,"t":"code","b":[141,20,3],"m":"sta","oa":788,"o":"irq_vector"},{"a":27460,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":27462,"t":"code","b":[141,26,208],"m":"sta","o":"vic_irq_enable"},{"a":27465,"t":"code","b":[88],"m":"cli"},{"a":27466,"t":"code","b":[96],"m":"rts"},{"a":27467,"l":"key_filter","c":"Refuse keys the line reader must not take: the 34 codes at $6B5D (the cursor keys, HOME and CLR, the colour and reverse codes, the function keys, INST, the quote) and the shifted letters $C1-$DA become 0. Everything else comes back as it was","t":"code","b":[160,34],"m":"ldy","x":[26646],"o":"#$22"},{"a":27469,"l":"b_6B4D","t":"code","b":[217,92,107],"m":"cmp","oa":27484,"x":[27480],"o":"refused_keys_base,y"},{"a":27472,"t":"code","b":[208,5],"m":"bne","oa":27479,"o":"b_6B57"},{"a":27474,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":27476,"t":"code","b":[76,127,107],"m":"jmp","oa":27519,"o":"refuse_shifted"},{"a":27479,"l":"b_6B57","t":"code","b":[136],"m":"dey","x":[27472]},{"a":27480,"t":"code","b":[208,243],"m":"bne","oa":27469,"o":"b_6B4D"},{"a":27482,"t":"code","b":[76,127,107],"m":"jmp","oa":27519,"o":"refuse_shifted"},{"a":27484,"t":"note","l":"refused_keys_base","c":"The base of CMP $6B5C,Y in key_filter: Y runs from 34 down to 1, so the keys compared are $6B5D-$6B7E, and this byte, the JMP's operand, never is","note":"inside the item at $6B5A","x":[27469]},{"a":27485,"l":"refused_keys","c":"The 34 key codes the filter refuses: the cursor keys and HOME ($11, $1D, $91, $9D, $13), reverse on ($12), CLR ($93), the function keys ($85-$8C), shifted RETURN ($8D), INST ($94), the quote ($22), and the colour codes $90, $05, $1C, $9F, $9C, $1E, $1F, $9E, $81 and $95-$9B","t":"byte","b":[17,18,19,29,145,147,157,133]},{"a":27493,"t":"byte","b":[134,135,136,137,138,139,140,141]},{"a":27501,"t":"byte","b":[148,34,144,5,28,159,156,30]},{"a":27509,"t":"byte","b":[31,158,129,149,150,151,152,153]},{"a":27517,"t":"byte","b":[154,155]},{"a":27519,"l":"refuse_shifted","c":"The shifted letters $C1-$DA are refused as well","t":"code","b":[201,193],"m":"cmp","x":[27476,27482],"o":"#$C1"},{"a":27521,"t":"code","b":[48,4],"m":"bmi","oa":27527,"o":"r_6B87"},{"a":27523,"t":"code","b":[201,219],"m":"cmp","o":"#$DB"},{"a":27525,"t":"code","b":[48,1],"m":"bmi","oa":27528,"o":"b_6B88"},{"a":27527,"l":"r_6B87","t":"code","b":[96],"m":"rts","x":[27521]},{"a":27528,"l":"b_6B88","t":"code","b":[169,0],"m":"lda","x":[27525],"o":"#$00"},{"a":27530,"t":"code","b":[96],"m":"rts"},{"a":27531,"l":"colour_test","c":"The first screen: text only, the screen cleared, four bars of colour (red, yellow, blue, green, in reversed spaces) printed 20 times, then the colour names and \"Adjust your TV to match above colors. HIT RETURN\"; wait for RETURN","t":"code","b":[32,174,84],"m":"jsr","oa":21678,"x":[26033],"o":"graphics_off_slot"},{"a":27534,"t":"code","b":[32,60,84],"m":"jsr","oa":21564,"o":"CLS"},{"a":27537,"t":"code","b":[162,20],"m":"ldx","o":"#$14"},{"a":27539,"l":"b_6B93","t":"code","b":[138],"m":"txa","x":[27552]},{"a":27540,"t":"code","b":[72],"m":"pha"},{"a":27541,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27544,"c":"The text of one row of the bars ($6BAE)","t":"addr","b":[174,107],"oa":27566,"o":"colour_bars"},{"a":27546,"c":"Print it, 20 rows","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27549,"t":"code","b":[104],"m":"pla"},{"a":27550,"t":"code","b":[170],"m":"tax"},{"a":27551,"t":"code","b":[202],"m":"dex"},{"a":27552,"t":"code","b":[208,241],"m":"bne","oa":27539,"o":"b_6B93"},{"a":27554,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27557,"c":"The text of the names and the request ($6BD9)","t":"addr","b":[217,107],"oa":27609,"o":"colour_names"},{"a":27559,"c":"Print the colour names and the request, and wait for RETURN","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27562,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":27565,"t":"code","b":[96],"m":"rts"},{"a":27566,"l":"colour_bars","c":"One row of the colour test: four spaces, reverse on ($12), then red ($1C), yellow ($9E), blue ($1F) and green ($1E), each eight reversed spaces, a newline and a zero","t":"byte","b":[32,32,32,32,18,28,32,32],"x":[27544]},{"a":27574,"t":"byte","b":[32,32,32,32,32,32,158,32]},{"a":27582,"t":"byte","b":[32,32,32,32,32,32,32,31]},{"a":27590,"t":"byte","b":[32,32,32,32,32,32,32,32]},{"a":27598,"t":"byte","b":[30,32,32,32,32,32,32,32]},{"a":27606,"t":"byte","b":[32,13,0]},{"a":27609,"l":"colour_names","c":"The colour test's caption: black ($90), \"  RED    YELLOW    BLUE   GREEN\", then \"Adjust your TV to match above colors.\" and \"HIT RETURN\", zero-terminated","t":"byte","b":[144,32,32,82,69,68,32,32],"x":[27557]},{"a":27617,"t":"byte","b":[32,32,89,69,76,76,79,87]},{"a":27625,"t":"byte","b":[32,32,32,32,66,76,85,69]},{"a":27633,"t":"byte","b":[32,32,32,71,82,69,69,78]},{"a":27641,"t":"byte","b":[13,65,100,106,117,115,116,32]},{"a":27649,"t":"byte","b":[121,111,117,114,32,84,86,32]},{"a":27657,"t":"byte","b":[116,111,32,109,97,116,99,104]},{"a":27665,"t":"byte","b":[32,97,98,111,118,101,32,99]},{"a":27673,"t":"byte","b":[111,108,111,114,115,46,13,72]},{"a":27681,"t":"byte","b":[73,84,32,82,69,84,85,82]},{"a":27689,"t":"byte","b":[78,0]},{"a":27691,"l":"gap_6c2b","c":"21 zero bytes, unused, before the next module","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27699,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":27707,"t":"byte","b":[0,0,0,0,0]},{"a":27712,"l":"input_module","c":"This module's table: the save-area question ($6F33), PUTNUM ($6EC5), GETIA ($6EA3), the copyright and title screens ($70F9), the restore question ($6F7A), the command line ($6CDB) and the light ($6C55)","t":"code","b":[76,51,111],"m":"jmp","oa":28467,"x":[21531],"o":"ask_save_area"},{"a":27715,"l":"putnum_jmp","c":"PUTNUM: to $6EC5","t":"code","b":[76,197,110],"m":"jmp","oa":28357,"x":[21576],"o":"putnum"},{"a":27718,"l":"getia_jmp","c":"GETIA: to $6EA3","t":"code","b":[76,163,110],"m":"jmp","oa":28323,"x":[21573],"o":"getia"},{"a":27721,"l":"title_jmp","c":"Copyright and title screens: to $70F9","t":"code","b":[76,249,112],"m":"jmp","oa":28921,"x":[21690],"o":"title_screens"},{"a":27724,"l":"restore_jmp","c":"Restore question: to $6F7A","t":"code","b":[76,122,111],"m":"jmp","oa":28538,"x":[21693],"o":"restore_prompt"},{"a":27727,"l":"input_jmp","c":"Command line: to $6CDB","t":"code","b":[76,219,108],"m":"jmp","oa":27867,"x":[21696],"o":"command_line"},{"a":27730,"l":"light_jmp","c":"The light: to $6C55","t":"code","b":[76,85,108],"m":"jmp","oa":27733,"x":[21699],"o":"light_countdown"},{"a":27733,"l":"light_countdown","c":"Once a turn: if item 9, the light, is anywhere but room 0, take a turn off its time ($1E9F). At 0: set flag 16 and print \"LIGHT RAN OUT!\"; under 25: print \"LIGHT RUNS OUT IN n TURNS\". Below 0 the count goes on silently. The Hulk's database has no light: item 9 is a full stop that starts in room 0","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[27730],"o":"load_hl_slot"},{"a":27736,"c":"The pointer at $1C3A, for item 9's location: is the light in play?","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":27738,"c":"Item 9 in room 0 (its location word 0): nothing to count","t":"code","b":[160,18],"m":"ldy","o":"#$12"},{"a":27740,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":27742,"t":"code","b":[200],"m":"iny"},{"a":27743,"t":"code","b":[17,78],"m":"ora","oa":78,"o":"(reg_hl),y"},{"a":27745,"t":"code","b":[240,38],"m":"beq","oa":27785,"o":"r_6C89"},{"a":27747,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":27750,"c":"The light's turns, $1E9F, into HL","t":"addr","b":[159,30],"oa":7839,"o":"light_turns"},{"a":27752,"c":"One fewer","t":"code","b":[32,75,84],"m":"jsr","oa":21579,"o":"DECHL"},{"a":27755,"t":"code","b":[32,141,84],"m":"jsr","oa":21645,"o":"store_hl_slot"},{"a":27758,"c":"$1E9F, where the turns go back","t":"addr","b":[159,30],"oa":7839,"o":"light_turns"},{"a":27760,"c":"Positive: done unless 0 or under 25","t":"code","b":[173,160,30],"m":"lda","oa":7840,"o":"light_turns_hi"},{"a":27763,"t":"code","b":[208,20],"m":"bne","oa":27785,"o":"r_6C89"},{"a":27765,"t":"code","b":[173,159,30],"m":"lda","oa":7839,"o":"light_turns"},{"a":27768,"t":"code","b":[48,15],"m":"bmi","oa":27785,"o":"r_6C89"},{"a":27770,"t":"code","b":[208,14],"m":"bne","oa":27786,"o":"b_6C8A"},{"a":27772,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":27774,"t":"code","b":[141,18,28],"m":"sta","oa":7186,"o":"flag_light_out"},{"a":27777,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27780,"c":"The text \"LIGHT RAN OUT!\" ($6CC4)","t":"addr","b":[196,108],"oa":27844,"o":"txt_light_ran_out"},{"a":27782,"c":"Print \"LIGHT RAN OUT!\"","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27785,"l":"r_6C89","t":"code","b":[96],"m":"rts","x":[27745,27763,27768,27788]},{"a":27786,"l":"b_6C8A","t":"code","b":[201,25],"m":"cmp","x":[27770],"o":"#$19"},{"a":27788,"t":"code","b":[16,251],"m":"bpl","oa":27785,"o":"r_6C89"},{"a":27790,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27793,"c":"The text \"LIGHT RUNS OUT IN \" ($6CA7)","t":"addr","b":[167,108],"oa":27815,"o":"txt_light_runs_out_in"},{"a":27795,"c":"Print it and the number","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27798,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":27801,"c":"$1E9F, the turns left, to print","t":"addr","b":[159,30],"oa":7839,"o":"light_turns"},{"a":27803,"c":"Print the number","t":"code","b":[32,72,84],"m":"jsr","oa":21576,"o":"PUTNUM"},{"a":27806,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27809,"c":"The text \" TURNS\" ($6CBC)","t":"addr","b":[188,108],"oa":27836,"o":"txt_turns"},{"a":27811,"c":"Print \" TURNS\"","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27814,"t":"code","b":[96],"m":"rts"},{"a":27815,"l":"txt_light_runs_out_in","c":"Text \"(newline) LIGHT RUNS OUT IN \", zero-terminated; referred to at $6C8E, in shifted letters: the light's warning, with the number of turns left between the two parts","t":"byte","b":[13,160,204,201,199,200,212,160],"x":[27793]},{"a":27823,"t":"byte","b":[210,213,206,211,160,207,213,212]},{"a":27831,"t":"byte","b":[160,201,206,32,0]},{"a":27836,"l":"txt_turns","c":"Text \" TURNS(newline)\", zero-terminated; referred to at $6C9E","t":"byte","b":[160,212,213,210,206,211,13,0],"x":[27809]},{"a":27844,"l":"txt_light_ran_out","c":"Text \"(newline) LIGHT RAN OUT!(newline)\", zero-terminated; referred to at $6C81","t":"byte","b":[13,32,76,73,71,72,84,32],"x":[27780]},{"a":27852,"t":"byte","b":[82,65,78,32,79,85,84,33]},{"a":27860,"t":"byte","b":[13,0]},{"a":27862,"l":"reprompt","c":"Ask again: empty the line buffer's first byte and on into the command line","t":"code","b":[169,0],"m":"lda","x":[27924,27955,27961,28083,28135,28163],"o":"#$00"},{"a":27864,"t":"code","b":[141,62,30],"m":"sta","oa":7742,"o":"line_buffer"},{"a":27867,"l":"command_line","c":"Read and parse a command: \"What shall I do? \" in black, the line read ($5439) and echoed in black, the colour set to blue for the answer, then the first word. A word of one letter is a command of its own: X, P and T set the tester's mode ($1F14 = 0, 1, 2; with 1 every action that fits prints \" PSBL:\" and its number, with 1 or 2 every action that runs prints \" DID:\"), Z clears the picture and turns the picture off or on, L and I stand for LOOK and INVE, V adds one to $1F1F (which nothing reads) and returns with the verb still 0 from the last turn's end, so a turn passes, N, S, E, W, U and D are GO and a direction. Any other first word must be a verb; a second word must be a noun; a third gets \"Use 1 or 2 words only!\"","t":"code","b":[32,51,84],"m":"jsr","oa":21555,"x":[27727],"o":"PUTCR"},{"a":27870,"t":"code","b":[169,144],"m":"lda","o":"#$90"},{"a":27872,"t":"code","b":[32,48,84],"m":"jsr","oa":21552,"o":"PUT"},{"a":27875,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27878,"c":"The text \"What shall I do? \" ($6E1F)","t":"addr","b":[31,110],"oa":28191,"o":"txt_what_shall_i_do"},{"a":27880,"c":"Print it, still in black, and read the line, which READK echoes in black","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":27883,"t":"code","b":[32,57,84],"m":"jsr","oa":21561,"o":"READK"},{"a":27886,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":27888,"t":"code","b":[141,37,31],"m":"sta","oa":7973,"o":"page_lines"},{"a":27891,"t":"code","b":[169,31],"m":"lda","o":"#$1F"},{"a":27893,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":27896,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":27899,"c":"$1E3E, the typed line; BC walks it","t":"addr","b":[62,30],"oa":7742,"o":"line_buffer"},{"a":27901,"c":"The first word into $1E70; then the one-letter commands","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":27904,"t":"code","b":[32,109,110],"m":"jsr","oa":28269,"o":"next_word"},{"a":27907,"t":"code","b":[173,113,30],"m":"lda","oa":7793,"o":"typed_word_1"},{"a":27910,"t":"code","b":[208,98],"m":"bne","oa":28010,"o":"b_6D6A"},{"a":27912,"t":"code","b":[173,112,30],"m":"lda","oa":7792,"o":"typed_word"},{"a":27915,"t":"code","b":[201,88],"m":"cmp","o":"#$58"},{"a":27917,"t":"code","b":[208,8],"m":"bne","oa":27927,"o":"b_6D17"},{"a":27919,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":27921,"l":"b_6D11","t":"code","b":[141,20,31],"m":"sta","oa":7956,"x":[27933,27970],"o":"tester_mode"},{"a":27924,"t":"code","b":[76,214,108],"m":"jmp","oa":27862,"o":"reprompt"},{"a":27927,"l":"b_6D17","t":"code","b":[201,80],"m":"cmp","x":[27917],"o":"#$50"},{"a":27929,"t":"code","b":[208,4],"m":"bne","oa":27935,"o":"b_6D1F"},{"a":27931,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":27933,"t":"code","b":[208,242],"m":"bne","oa":27921,"o":"b_6D11"},{"a":27935,"l":"b_6D1F","t":"code","b":[201,90],"m":"cmp","x":[27929],"o":"#$5A"},{"a":27937,"t":"code","b":[208,25],"m":"bne","oa":27964,"o":"b_6D3C"},{"a":27939,"t":"code","b":[32,198,84],"m":"jsr","oa":21702,"o":"clear_bitmap_slot"},{"a":27942,"t":"code","b":[32,60,84],"m":"jsr","oa":21564,"o":"CLS"},{"a":27945,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":27948,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":27950,"t":"code","b":[240,6],"m":"beq","oa":27958,"o":"b_6D36"},{"a":27952,"t":"code","b":[32,174,84],"m":"jsr","oa":21678,"o":"graphics_off_slot"},{"a":27955,"t":"code","b":[76,214,108],"m":"jmp","oa":27862,"o":"reprompt"},{"a":27958,"l":"b_6D36","t":"code","b":[32,171,84],"m":"jsr","oa":21675,"x":[27950],"o":"graphics_on_slot"},{"a":27961,"t":"code","b":[76,214,108],"m":"jmp","oa":27862,"o":"reprompt"},{"a":27964,"l":"b_6D3C","t":"code","b":[201,84],"m":"cmp","x":[27937],"o":"#$54"},{"a":27966,"t":"code","b":[208,4],"m":"bne","oa":27972,"o":"b_6D44"},{"a":27968,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":27970,"t":"code","b":[208,205],"m":"bne","oa":27921,"o":"b_6D11"},{"a":27972,"l":"b_6D44","t":"code","b":[201,76],"m":"cmp","x":[27966],"o":"#$4C"},{"a":27974,"t":"code","b":[208,15],"m":"bne","oa":27991,"o":"b_6D57"},{"a":27976,"t":"code","b":[169,79],"m":"lda","o":"#$4F"},{"a":27978,"t":"code","b":[141,113,30],"m":"sta","oa":7793,"o":"typed_word_1"},{"a":27981,"t":"code","b":[141,114,30],"m":"sta","oa":7794,"o":"typed_word_2"},{"a":27984,"t":"code","b":[169,75],"m":"lda","o":"#$4B"},{"a":27986,"t":"code","b":[141,115,30],"m":"sta","oa":7795,"o":"typed_word_3"},{"a":27989,"t":"code","b":[208,19],"m":"bne","oa":28010,"o":"b_6D6A"},{"a":27991,"l":"b_6D57","t":"code","b":[201,73],"m":"cmp","x":[27974],"o":"#$49"},{"a":27993,"t":"code","b":[208,23],"m":"bne","oa":28018,"o":"key_v"},{"a":27995,"t":"code","b":[169,78],"m":"lda","o":"#$4E"},{"a":27997,"t":"code","b":[141,113,30],"m":"sta","oa":7793,"o":"typed_word_1"},{"a":28000,"t":"code","b":[169,86],"m":"lda","o":"#$56"},{"a":28002,"t":"code","b":[141,114,30],"m":"sta","oa":7794,"o":"typed_word_2"},{"a":28005,"t":"code","b":[169,69],"m":"lda","o":"#$45"},{"a":28007,"t":"code","b":[141,115,30],"m":"sta","oa":7795,"o":"typed_word_3"},{"a":28010,"l":"b_6D6A","t":"code","b":[208,37],"m":"bne","oa":28049,"x":[27910,27989],"o":"lookup_verb"},{"a":28011,"t":"note","l":"dir_lookup_base","c":"The operand of the branch above (always taken: A is not 0 here) and the byte before the direction letters: \"NSEWUD\" follows at $6D6C, so the letter's place from here is its direction, 1 to 6","note":"inside the item at $6D6A","x":[28029]},{"a":28012,"l":"dir_names","c":"The six direction letters \"NSEWUD\", for one-letter moves; a match is GO (verb 1) with noun 1 to 6","t":"byte","b":[78,83,69,87,85,68]},{"a":28018,"l":"key_v","c":"V: move $1F1F on and return with the verb left at 0. The turn passes: the main loop runs the actions for verb 0, which are the automatic ones, and the turn's end runs them again, so V gives every automatic action two chances","t":"code","b":[201,86],"m":"cmp","x":[27993],"o":"#$56"},{"a":28020,"t":"code","b":[208,4],"m":"bne","oa":28026,"o":"direction_letter"},{"a":28022,"t":"code","b":[238,31,31],"m":"inc","oa":7967,"o":"v_count"},{"a":28025,"t":"code","b":[96],"m":"rts"},{"a":28026,"l":"direction_letter","c":"A direction letter?","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[28020],"o":"SETHLI"},{"a":28029,"c":"$6D6B, one before the letters, so that Y counts 6 down to 1","t":"addr","b":[107,109],"oa":28011,"o":"dir_lookup_base"},{"a":28031,"c":"Search \"NSEWUD\": found, verb 1 and that noun","t":"code","b":[160,6],"m":"ldy","o":"#$06"},{"a":28033,"l":"b_6D81","t":"code","b":[209,78],"m":"cmp","oa":78,"x":[28038],"o":"(reg_hl),y"},{"a":28035,"t":"code","b":[240,5],"m":"beq","oa":28042,"o":"b_6D8A"},{"a":28037,"t":"code","b":[136],"m":"dey"},{"a":28038,"t":"code","b":[208,249],"m":"bne","oa":28033,"o":"b_6D81"},{"a":28040,"t":"code","b":[240,7],"m":"beq","oa":28049,"o":"lookup_verb"},{"a":28042,"l":"b_6D8A","t":"code","b":[132,97],"m":"sty","oa":97,"x":[28035],"o":"noun"},{"a":28044,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":28046,"t":"code","b":[133,95],"m":"sta","oa":95,"o":"verb"},{"a":28048,"t":"code","b":[96],"m":"rts"},{"a":28049,"l":"lookup_verb","c":"Look the first word up among the verbs ($8060)","t":"code","b":[32,144,84],"m":"jsr","oa":21648,"x":[28010,28040],"o":"load_hl_slot"},{"a":28052,"c":"The address of the verb list, from $8060","t":"addr","b":[96,128],"oa":32864,"o":"db_verb_list"},{"a":28054,"c":"Not a verb: complain","t":"code","b":[32,180,84],"m":"jsr","oa":21684,"o":"find_word_slot"},{"a":28057,"t":"code","b":[240,27],"m":"beq","oa":28086,"o":"b_6DB6"},{"a":28059,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28062,"c":"The text 'Don't know how to \"' ($6E31)","t":"addr","b":[49,110],"oa":28209,"o":"txt_dont_know_how_to"},{"a":28064,"c":"Print it, then the word","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28067,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28070,"c":"$1E70, the unknown verb as typed","t":"addr","b":[112,30],"oa":7792,"o":"typed_word"},{"a":28072,"c":"Print the unknown verb","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28075,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28078,"c":"The text '\" something.' ($6E45)","t":"addr","b":[69,110],"oa":28229,"o":"txt_something"},{"a":28080,"c":"Print it and ask again. Found: the verb's number to $5F, and the next word into $1E70","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28083,"t":"code","b":[76,214,108],"m":"jmp","oa":27862,"o":"reprompt"},{"a":28086,"l":"b_6DB6","t":"code","b":[173,137,30],"m":"lda","oa":7817,"x":[28057],"o":"word_index"},{"a":28089,"t":"code","b":[133,95],"m":"sta","oa":95,"o":"verb"},{"a":28091,"t":"code","b":[32,109,110],"m":"jsr","oa":28269,"o":"next_word"},{"a":28094,"t":"code","b":[173,112,30],"m":"lda","oa":7792,"o":"typed_word"},{"a":28097,"t":"code","b":[133,97],"m":"sta","oa":97,"o":"noun"},{"a":28099,"t":"code","b":[240,42],"m":"beq","oa":28143,"o":"b_6DEF"},{"a":28101,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":28104,"c":"The address of the noun list, from $805E","t":"addr","b":[94,128],"oa":32862,"o":"db_noun_list"},{"a":28106,"c":"Not a noun: complain","t":"code","b":[32,180,84],"m":"jsr","oa":21684,"o":"find_word_slot"},{"a":28109,"t":"code","b":[240,27],"m":"beq","oa":28138,"o":"b_6DEA"},{"a":28111,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28114,"c":"The text 'Don't know what \"' ($6E54)","t":"addr","b":[84,110],"oa":28244,"o":"txt_dont_know_what"},{"a":28116,"c":"Print it, then the noun","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28119,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28122,"c":"$1E70, the unknown noun as typed","t":"addr","b":[112,30],"oa":7792,"o":"typed_word"},{"a":28124,"c":"Print the unknown noun","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28127,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28130,"c":"The text '\" is.' ($6E66)","t":"addr","b":[102,110],"oa":28262,"o":"txt_is"},{"a":28132,"c":"Print it and ask again. Found: the noun's number to $61. Then make sure nothing but spaces follows","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28135,"t":"code","b":[76,214,108],"m":"jmp","oa":27862,"o":"reprompt"},{"a":28138,"l":"b_6DEA","t":"code","b":[173,137,30],"m":"lda","oa":7817,"x":[28109],"o":"word_index"},{"a":28141,"t":"code","b":[133,97],"m":"sta","oa":97,"o":"noun"},{"a":28143,"l":"b_6DEF","t":"code","b":[160,0],"m":"ldy","x":[28099],"o":"#$00"},{"a":28145,"l":"b_6DF1","t":"code","b":[177,82],"m":"lda","oa":82,"x":[28153],"o":"(reg_bc),y"},{"a":28147,"t":"code","b":[208,1],"m":"bne","oa":28150,"o":"b_6DF6"},{"a":28149,"t":"code","b":[96],"m":"rts"},{"a":28150,"l":"b_6DF6","t":"code","b":[200],"m":"iny","x":[28147]},{"a":28151,"t":"code","b":[201,32],"m":"cmp","o":"#$20"},{"a":28153,"t":"code","b":[240,246],"m":"beq","oa":28145,"o":"b_6DF1"},{"a":28155,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28158,"c":"The text \" Use 1 or 2 words only!\" ($6E06)","t":"addr","b":[6,110],"oa":28166,"o":"txt_use_1_or_2"},{"a":28160,"c":"Print \" Use 1 or 2 words only!\" and ask again","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28163,"t":"code","b":[76,214,108],"m":"jmp","oa":27862,"o":"reprompt"},{"a":28166,"l":"txt_use_1_or_2","c":"Text \" Use 1 or 2 words only!(newline)\", zero-terminated; referred to at $6DFB","t":"byte","b":[32,85,115,101,32,49,32,111],"x":[28158]},{"a":28174,"t":"byte","b":[114,32,50,32,119,111,114,100]},{"a":28182,"t":"byte","b":[115,32,111,110,108,121,33,13]},{"a":28190,"t":"byte","b":[0]},{"a":28191,"l":"txt_what_shall_i_do","c":"Text \"What shall I do? \", zero-terminated; referred to at $6CE3: the prompt for every command","t":"byte","b":[87,104,97,116,32,115,104,97],"x":[27878]},{"a":28199,"t":"byte","b":[108,108,32,73,32,100,111,63]},{"a":28207,"t":"byte","b":[32,0]},{"a":28209,"l":"txt_dont_know_how_to","c":"Text \"Don't know how to \"\", zero-terminated; referred to at $6D9B","t":"byte","b":[68,111,110,39,116,32,107,110],"x":[28062]},{"a":28217,"t":"byte","b":[111,119,32,104,111,119,32,116]},{"a":28225,"t":"byte","b":[111,32,34,0]},{"a":28229,"l":"txt_something","c":"Text \"\" something.(newline)(newline)\", zero-terminated; referred to at $6DAB","t":"byte","b":[34,32,115,111,109,101,116,104],"x":[28078]},{"a":28237,"t":"byte","b":[105,110,103,46,13,13,0]},{"a":28244,"l":"txt_dont_know_what","c":"Text \"Don't know what \"\", zero-terminated; referred to at $6DCF","t":"byte","b":[68,111,110,39,116,32,107,110],"x":[28114]},{"a":28252,"t":"byte","b":[111,119,32,119,104,97,116,32]},{"a":28260,"t":"byte","b":[34,0]},{"a":28262,"l":"txt_is","c":"Text \"\" is.(newline)\", zero-terminated; referred to at $6DDF","t":"byte","b":[34,32,105,115,46,13,0],"x":[28130]},{"a":28269,"l":"next_word","c":"Copy the next word of the typed line (BC walks it) into $1E70, after clearing $1E70-$1E87: leading spaces are skipped, and the word ends at a space or the end of the line","t":"code","b":[32,114,84],"m":"jsr","oa":21618,"x":[27904,28091],"o":"push_de_slot"},{"a":28272,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":28274,"t":"code","b":[160,23],"m":"ldy","o":"#$17"},{"a":28276,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28279,"c":"$1E70, where the word goes","t":"addr","b":[112,30],"oa":7792,"o":"typed_word"},{"a":28281,"c":"Clear 24 bytes and copy","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":28284,"l":"b_6E7C","t":"code","b":[145,78],"m":"sta","oa":78,"x":[28287],"o":"(reg_hl),y"},{"a":28286,"t":"code","b":[136],"m":"dey"},{"a":28287,"t":"code","b":[16,251],"m":"bpl","oa":28284,"o":"b_6E7C"},{"a":28289,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":28291,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":28293,"l":"b_6E85","t":"code","b":[177,82],"m":"lda","oa":82,"x":[28310,28321],"o":"(reg_bc),y"},{"a":28295,"t":"code","b":[32,99,84],"m":"jsr","oa":21603,"o":"inc_bc_slot"},{"a":28298,"t":"code","b":[208,4],"m":"bne","oa":28304,"o":"b_6E90"},{"a":28300,"l":"b_6E8C","t":"code","b":[32,117,84],"m":"jsr","oa":21621,"x":[28312],"o":"pull_de_slot"},{"a":28303,"t":"code","b":[96],"m":"rts"},{"a":28304,"l":"b_6E90","t":"code","b":[201,32],"m":"cmp","x":[28298],"o":"#$20"},{"a":28306,"t":"code","b":[208,6],"m":"bne","oa":28314,"o":"b_6E9A"},{"a":28308,"t":"code","b":[224,0],"m":"cpx","o":"#$00"},{"a":28310,"t":"code","b":[240,237],"m":"beq","oa":28293,"o":"b_6E85"},{"a":28312,"t":"code","b":[208,242],"m":"bne","oa":28300,"o":"b_6E8C"},{"a":28314,"l":"b_6E9A","t":"code","b":[145,78],"m":"sta","oa":78,"x":[28306],"o":"(reg_hl),y"},{"a":28316,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":28319,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":28321,"t":"code","b":[208,226],"m":"bne","oa":28293,"o":"b_6E85"},{"a":28323,"l":"getia","c":"GETIA: point HL at item HL's location (the pointer at $1C3A + 2 x HL) and load it into A; X is kept","t":"code","b":[142,137,30],"m":"stx","oa":7817,"x":[27718],"o":"word_index"},{"a":28326,"t":"code","b":[32,108,84],"m":"jsr","oa":21612,"o":"push_bc_slot"},{"a":28329,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":28332,"t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":28335,"t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":28338,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":28341,"c":"The pointer at $1C3A to the item locations, for GETIA","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":28343,"c":"HL = item's location; A = it","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":28346,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":28349,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":28351,"t":"code","b":[161,78],"m":"lda","oa":78,"o":"(reg_hl,x)"},{"a":28353,"t":"code","b":[174,137,30],"m":"ldx","oa":7817,"o":"word_index"},{"a":28356,"t":"code","b":[96],"m":"rts"},{"a":28357,"l":"putnum","c":"PUTNUM: print HL as a signed decimal number: a minus sign if negative, then up to five digits, with no leading zeros (the buffer at $58: a length of 6, the sign at $59 and the digits at $5A-$5E, zeros left as zero bytes, which PUT skips)","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[27715],"o":"save_all_slot"},{"a":28360,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":28362,"t":"code","b":[141,137,30],"m":"sta","oa":7817,"o":"word_index"},{"a":28365,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":28367,"t":"code","b":[141,138,30],"m":"sta","oa":7818,"o":"word_count"},{"a":28370,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28373,"c":"$0059, the number's buffer, to clear","t":"word","b":[89,0],"d":[89]},{"a":28375,"c":"Clear it; a negative number gets '-' and is made positive","t":"code","b":[160,5],"m":"ldy","o":"#$05"},{"a":28377,"l":"b_6ED9","t":"code","b":[169,0],"m":"lda","x":[28382],"o":"#$00"},{"a":28379,"t":"code","b":[145,78],"m":"sta","oa":78,"o":"(reg_hl),y"},{"a":28381,"t":"code","b":[136],"m":"dey"},{"a":28382,"t":"code","b":[16,249],"m":"bpl","oa":28377,"o":"b_6ED9"},{"a":28384,"t":"code","b":[173,138,30],"m":"lda","oa":7818,"o":"word_count"},{"a":28387,"t":"code","b":[16,21],"m":"bpl","oa":28410,"o":"b_6EFA"},{"a":28389,"t":"code","b":[169,45],"m":"lda","o":"#$2D"},{"a":28391,"t":"code","b":[133,89],"m":"sta","oa":89,"o":"num_sign"},{"a":28393,"t":"code","b":[56],"m":"sec"},{"a":28394,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":28396,"t":"code","b":[237,137,30],"m":"sbc","oa":7817,"o":"word_index"},{"a":28399,"t":"code","b":[141,137,30],"m":"sta","oa":7817,"o":"word_index"},{"a":28402,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":28404,"t":"code","b":[237,138,30],"m":"sbc","oa":7818,"o":"word_count"},{"a":28407,"t":"code","b":[141,138,30],"m":"sta","oa":7818,"o":"word_count"},{"a":28410,"l":"b_6EFA","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[28387],"o":"SETHLI"},{"a":28413,"c":"$0059, the buffer, whose digits are filled from the end","t":"word","b":[89,0],"d":[89]},{"a":28415,"c":"BC = the buffer","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":28418,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":28421,"c":"The number, kept in $1E89-$1E8A","t":"addr","b":[137,30],"oa":7817,"o":"word_index"},{"a":28423,"c":"Divide by 10 for each digit, until nothing is left","t":"code","b":[160,5],"m":"ldy","o":"#$05"},{"a":28425,"l":"b_6F09","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"x":[28449],"o":"de_from_hl_slot"},{"a":28428,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28431,"c":"10, for the digits","t":"word","b":[10,0],"d":[10]},{"a":28433,"c":"The remainder, plus '0', is the digit","t":"code","b":[32,33,84],"m":"jsr","oa":21537,"o":"divide_slot"},{"a":28436,"t":"code","b":[165,80],"m":"lda","oa":80,"o":"reg_de"},{"a":28438,"t":"code","b":[9,48],"m":"ora","o":"#$30"},{"a":28440,"t":"code","b":[145,82],"m":"sta","oa":82,"o":"(reg_bc),y"},{"a":28442,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":28444,"t":"code","b":[5,79],"m":"ora","oa":79,"o":"reg_hl_hi"},{"a":28446,"t":"code","b":[240,3],"m":"beq","oa":28451,"o":"b_6F23"},{"a":28448,"t":"code","b":[136],"m":"dey"},{"a":28449,"t":"code","b":[208,230],"m":"bne","oa":28425,"o":"b_6F09"},{"a":28451,"l":"b_6F23","t":"code","b":[160,6],"m":"ldy","x":[28446],"o":"#$06"},{"a":28453,"t":"code","b":[132,88],"m":"sty","oa":88,"o":"num_length"},{"a":28455,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28458,"c":"$0058, the length byte before the buffer, for PUTS","t":"word","b":[88,0],"d":[88]},{"a":28460,"c":"Print the six bytes from $58: the sign and digits, zero bytes skipped","t":"code","b":[32,66,84],"m":"jsr","oa":21570,"o":"PUTS"},{"a":28463,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":28466,"t":"code","b":[96],"m":"rts"},{"a":28467,"l":"ask_save_area","c":"Ask \"Use which SAVE GAME area (A-D)?\" until the first character typed is A to D. Every character typed gets bit 7, which turns A-D into the shifted letters the files are named with, and \".S\" (shifted S) follows the first: the name, six characters from $1E3E, is given to the KERNAL with device 8, file 1, secondary address 1 (load to the file's own address)","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[27712,28483,28487,28505],"o":"SETHLI"},{"a":28470,"c":"The text \"Use which SAVE GAME area (A-D)?\" ($6FFD)","t":"addr","b":[253,111],"oa":28669,"o":"txt_use_which_save_game"},{"a":28472,"c":"Print it, read the answer, check it and name the file","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28475,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":28478,"t":"code","b":[173,62,30],"m":"lda","oa":7742,"o":"line_buffer"},{"a":28481,"t":"code","b":[201,65],"m":"cmp","o":"#$41"},{"a":28483,"t":"code","b":[48,238],"m":"bmi","oa":28467,"o":"ask_save_area"},{"a":28485,"t":"code","b":[201,69],"m":"cmp","o":"#$45"},{"a":28487,"t":"code","b":[16,234],"m":"bpl","oa":28467,"o":"ask_save_area"},{"a":28489,"t":"code","b":[162,255],"m":"ldx","o":"#$FF"},{"a":28491,"l":"b_6F4B","t":"code","b":[232],"m":"inx","x":[28502]},{"a":28492,"t":"code","b":[189,62,30],"m":"lda","oa":7742,"o":"line_buffer,x"},{"a":28495,"t":"code","b":[9,128],"m":"ora","o":"#$80"},{"a":28497,"t":"code","b":[157,62,30],"m":"sta","oa":7742,"o":"line_buffer,x"},{"a":28500,"t":"code","b":[201,128],"m":"cmp","o":"#$80"},{"a":28502,"t":"code","b":[208,243],"m":"bne","oa":28491,"o":"b_6F4B"},{"a":28504,"t":"code","b":[138],"m":"txa"},{"a":28505,"t":"code","b":[240,216],"m":"beq","oa":28467,"o":"ask_save_area"},{"a":28507,"t":"code","b":[169,46],"m":"lda","o":"#$2E"},{"a":28509,"t":"code","b":[141,63,30],"m":"sta","oa":7743,"o":"save_name_dot"},{"a":28512,"t":"code","b":[169,211],"m":"lda","o":"#$D3"},{"a":28514,"t":"code","b":[141,64,30],"m":"sta","oa":7744,"o":"save_name_s"},{"a":28517,"t":"code","b":[169,6],"m":"lda","o":"#$06"},{"a":28519,"t":"code","b":[174,251,111],"m":"ldx","oa":28667,"o":"filename_ptr"},{"a":28522,"t":"code","b":[172,252,111],"m":"ldy","oa":28668,"o":"filename_ptr_hi"},{"a":28525,"t":"code","b":[32,189,255],"m":"jsr","oa":65469,"o":"KERNAL_SETNAM"},{"a":28528,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":28530,"t":"code","b":[162,8],"m":"ldx","o":"#$08"},{"a":28532,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":28534,"t":"code","b":[32,186,255],"m":"jsr","oa":65466,"o":"KERNAL_SETLFS"},{"a":28537,"t":"code","b":[96],"m":"rts"},{"a":28538,"l":"restore_prompt","c":"Ask \"Do you want to restore a previously saved game? (Yes, No, Demo)\". D starts the demonstration: $1F28 on, the script from its start, the return dropped, and RESTRT. N turns the picture on and returns. Y loads a saved game: the fast loader is stopped, the area asked, and \"A.S*\" loaded to $1C00. A disk error, or a check byte ($1E3C) that is not this database's ($8064), prints \"BAD SAVE FILE\", sets the starting state again and asks again","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[27724,28580,28664],"o":"SETHLI"},{"a":28541,"c":"The text \"Do you want to restore a previously saved game? (Yes, No, Demo)\" ($7030)","t":"addr","b":[48,112],"oa":28720,"o":"txt_do_you_want_to"},{"a":28543,"c":"Print it, read the answer: D, Y or N","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28546,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":28549,"t":"code","b":[173,62,30],"m":"lda","oa":7742,"o":"line_buffer"},{"a":28552,"t":"code","b":[201,68],"m":"cmp","o":"#$44"},{"a":28554,"t":"code","b":[208,18],"m":"bne","oa":28574,"o":"b_6F9E"},{"a":28556,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":28558,"t":"code","b":[141,40,31],"m":"sta","oa":7976,"o":"demo_mode"},{"a":28561,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":28563,"t":"code","b":[141,41,31],"m":"sta","oa":7977,"o":"demo_pos"},{"a":28566,"t":"code","b":[141,42,31],"m":"sta","oa":7978,"o":"demo_pos_hi"},{"a":28569,"t":"code","b":[104],"m":"pla"},{"a":28570,"t":"code","b":[104],"m":"pla"},{"a":28571,"t":"code","b":[76,45,84],"m":"jmp","oa":21549,"o":"RESTRT"},{"a":28574,"l":"b_6F9E","t":"code","b":[201,89],"m":"cmp","x":[28554],"o":"#$59"},{"a":28576,"t":"code","b":[240,8],"m":"beq","oa":28586,"o":"b_6FAA"},{"a":28578,"t":"code","b":[201,78],"m":"cmp","o":"#$4E"},{"a":28580,"t":"code","b":[208,212],"m":"bne","oa":28538,"o":"restore_prompt"},{"a":28582,"l":"b_6FA6","t":"code","b":[32,171,84],"m":"jsr","oa":21675,"x":[28651],"o":"graphics_on_slot"},{"a":28585,"t":"code","b":[96],"m":"rts"},{"a":28586,"l":"b_6FAA","t":"code","b":[32,174,84],"m":"jsr","oa":21678,"x":[28576],"o":"graphics_off_slot"},{"a":28589,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":28591,"t":"code","b":[32,216,84],"m":"jsr","oa":21720,"o":"drive_send_slot"},{"a":28594,"t":"code","b":[169,15],"m":"lda","o":"#$0F"},{"a":28596,"t":"code","b":[32,195,255],"m":"jsr","oa":65475,"o":"KERNAL_CLOSE"},{"a":28599,"t":"code","b":[32,27,84],"m":"jsr","oa":21531,"o":"save_area_slot"},{"a":28602,"t":"code","b":[169,46],"m":"lda","o":"#$2E"},{"a":28604,"t":"code","b":[141,63,30],"m":"sta","oa":7743,"o":"save_name_dot"},{"a":28607,"t":"code","b":[169,211],"m":"lda","o":"#$D3"},{"a":28609,"t":"code","b":[141,64,30],"m":"sta","oa":7744,"o":"save_name_s"},{"a":28612,"t":"code","b":[169,42],"m":"lda","o":"#$2A"},{"a":28614,"t":"code","b":[141,65,30],"m":"sta","oa":7745,"o":"save_name_star"},{"a":28617,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":28619,"t":"code","b":[141,66,30],"m":"sta","oa":7746,"o":"save_name_end"},{"a":28622,"t":"code","b":[141,60,30],"m":"sta","oa":7740,"o":"check_byte"},{"a":28625,"t":"code","b":[32,213,255],"m":"jsr","oa":65493,"o":"KERNAL_LOAD"},{"a":28628,"t":"code","b":[32,183,255],"m":"jsr","oa":65463,"o":"KERNAL_READST"},{"a":28631,"t":"code","b":[72],"m":"pha"},{"a":28632,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":28635,"t":"code","b":[32,213,84],"m":"jsr","oa":21717,"o":"drive_code_slot"},{"a":28638,"t":"code","b":[104],"m":"pla"},{"a":28639,"t":"code","b":[41,191],"m":"and","o":"#$BF"},{"a":28641,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":28643,"t":"code","b":[208,8],"m":"bne","oa":28653,"o":"b_6FED"},{"a":28645,"t":"code","b":[173,60,30],"m":"lda","oa":7740,"o":"check_byte"},{"a":28648,"t":"code","b":[205,100,128],"m":"cmp","oa":32868,"o":"db_check"},{"a":28651,"t":"code","b":[240,185],"m":"beq","oa":28582,"o":"b_6FA6"},{"a":28653,"l":"b_6FED","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[28643],"o":"SETHLI"},{"a":28656,"c":"The text \"BAD SAVE FILE\" ($701E)","t":"addr","b":[30,112],"oa":28702,"o":"txt_bad_save_file"},{"a":28658,"c":"Print it, start again from the database, ask again","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28661,"t":"code","b":[32,183,84],"m":"jsr","oa":21687,"o":"init_state_slot"},{"a":28664,"t":"code","b":[76,122,111],"m":"jmp","oa":28538,"o":"restore_prompt"},{"a":28667,"l":"filename_ptr","c":"$1E3E, the address of the file name for the KERNAL's SETNAM: the typed line's buffer, reused","t":"byte","b":[62],"x":[28519]},{"a":28668,"l":"filename_ptr_hi","c":"The file name's address, high byte: $1E3E, the line buffer","t":"byte","b":[30],"x":[28522]},{"a":28669,"l":"txt_use_which_save_game","c":"Text \"(newline)Use which SAVE GAME area (A-D)?\", zero-terminated; referred to at $6F33","t":"byte","b":[13,85,115,101,32,119,104,105],"x":[28470]},{"a":28677,"t":"byte","b":[99,104,32,83,65,86,69,32]},{"a":28685,"t":"byte","b":[71,65,77,69,32,97,114,101]},{"a":28693,"t":"byte","b":[97,32,40,65,45,68,41,63]},{"a":28701,"t":"byte","b":[0]},{"a":28702,"l":"txt_bad_save_file","c":"Text \"(newline) BAD SAVE FILE(newline)(newline)\", zero-terminated; referred to at $6FED, in shifted letters: a saved game that fails to load or does not match this database","t":"byte","b":[13,160,194,193,196,160,211,193],"x":[28656]},{"a":28710,"t":"byte","b":[214,197,160,198,201,204,197,13]},{"a":28718,"t":"byte","b":[13,0]},{"a":28720,"l":"txt_do_you_want_to","c":"Text \"(newline)Do you want to(newline)restore a previously(newline) saved game? (Yes, No, Demo) (newline)\", zero-terminated; referred to at $6F7A: the question after the title picture; D starts the demonstration","t":"byte","b":[13,68,111,32,121,111,117,32],"x":[28541]},{"a":28728,"t":"byte","b":[119,97,110,116,32,116,111,13]},{"a":28736,"t":"byte","b":[114,101,115,116,111,114,101,32]},{"a":28744,"t":"byte","b":[97,32,112,114,101,118,105,111]},{"a":28752,"t":"byte","b":[117,115,108,121,13,32,115,97]},{"a":28760,"t":"byte","b":[118,101,100,32,103,97,109,101]},{"a":28768,"t":"byte","b":[63,32,40,89,101,115,44,32]},{"a":28776,"t":"byte","b":[78,111,44,32,68,101,109,111]},{"a":28784,"t":"byte","b":[41,32,13,0]},{"a":28788,"l":"txt_scott_adams_and_commodore","c":"Text \"(newline)Scott Adams and COMMODORE Present(newline)(newline)A Marvel ADVENTURE!(newline)(newline)(newline)(newline) ***** HULK (TM) *****(newline)(newline) by Scott Adams(newline)(newline)QUESTPROBE (TM) #1(newline)\", zero-terminated; referred to at $7107: the title screen","t":"byte","b":[13,83,99,111,116,116,32,65],"x":[28938]},{"a":28796,"t":"byte","b":[100,97,109,115,32,97,110,100]},{"a":28804,"t":"byte","b":[32,67,79,77,77,79,68,79]},{"a":28812,"t":"byte","b":[82,69,32,80,114,101,115,101]},{"a":28820,"t":"byte","b":[110,116,13,13,65,32,77,97]},{"a":28828,"t":"byte","b":[114,118,101,108,32,65,68,86]},{"a":28836,"t":"byte","b":[69,78,84,85,82,69,33,13]},{"a":28844,"t":"byte","b":[13,13,13,32,42,42,42,42]},{"a":28852,"t":"byte","b":[42,32,72,85,76,75,32,40]},{"a":28860,"t":"byte","b":[84,77,41,32,42,42,42,42]},{"a":28868,"t":"byte","b":[42,13,13,32,98,121,32,83]},{"a":28876,"t":"byte","b":[99,111,116,116,32,65,100,97]},{"a":28884,"t":"byte","b":[109,115,13,13,81,85,69,83]},{"a":28892,"t":"byte","b":[84,80,82,79,66,69,32,40]},{"a":28900,"t":"byte","b":[84,77,41,32,35,49,13,0]},{"a":28908,"l":"txt_version_3","c":"Text \"(newline)Version: 3-\", zero-terminated; referred to at $710F: followed by the database's version number from $8062, 127","t":"byte","b":[13,86,101,114,115,105,111,110],"x":[28946]},{"a":28916,"t":"byte","b":[58,32,51,45,0]},{"a":28921,"l":"title_screens","c":"The trademark and copyright screen ($7131, which ends \"HIT RETURN NOW!\"), wait for RETURN; clear; the title (\"Scott Adams and COMMODORE Present ... QUESTPROBE (TM) #1\"), \"Version: 3-\" and the database's version number ($8062, 127), \"HIT RETURN NOW!\" again, and wait","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[27721],"o":"SETHLI"},{"a":28924,"c":"The text of the copyright screen ($7131)","t":"addr","b":[49,113],"oa":28977,"o":"txt_antman_ultron_hulk_dr"},{"a":28926,"c":"Print it, wait, clear the screen","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28929,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":28932,"t":"code","b":[32,60,84],"m":"jsr","oa":21564,"o":"CLS"},{"a":28935,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28938,"c":"The text of the title ($7074)","t":"addr","b":[116,112],"oa":28788,"o":"txt_scott_adams_and_commodore"},{"a":28940,"c":"Print the title","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28943,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28946,"c":"The text \"Version: 3-\" ($70EC)","t":"addr","b":[236,112],"oa":28908,"o":"txt_version_3"},{"a":28948,"c":"Print it, then the version","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28951,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":28954,"c":"The database's version number, from $8062","t":"addr","b":[98,128],"oa":32866,"o":"db_version"},{"a":28956,"c":"Print it and two newlines","t":"code","b":[32,72,84],"m":"jsr","oa":21576,"o":"PUTNUM"},{"a":28959,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":28962,"t":"code","b":[32,51,84],"m":"jsr","oa":21555,"o":"PUTCR"},{"a":28965,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":28968,"c":"\"HIT RETURN NOW!\" ($72B2), the end of the copyright screen's text, again","t":"addr","b":[178,114],"oa":29362,"o":"txt_hit_return_now"},{"a":28970,"c":"Print it and wait","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":28973,"t":"code","b":[32,204,84],"m":"jsr","oa":21708,"o":"wait_return_slot"},{"a":28976,"t":"code","b":[96],"m":"rts"},{"a":28977,"l":"txt_antman_ultron_hulk_dr","c":"Text \"(newline)(newline)ANT-MAN, ULTRON, HULK, DR. STRANGE,(newline)CHIEF EXAMINER, NIGHTMARE and the(newline)distinctive likenesses thereof(newline)are trademarks of the(newline)Marvel Comics Group and are used(newline)with permission.(newline)(newline)Artwork and text COPYRIGHT 1984(newline)Marvel Comics Group. ALL RIGHTS(newline)RESERVED.(newline)(newline)Game Design COPYRIGHT 1984(newline)Scott Adams, Inc. ALL RIGHTS RESERVED(newline)(newline)QUESTPROBE is a trademark of(newline)Marvel Comics Group & Scott Adams,Inc(newline)(newline)HIT RETURN NOW!(newline)\", zero-terminated; referred to at $70F9: the trademark and copyright screen","t":"byte","b":[13,13,65,78,84,45,77,65],"x":[28924]},{"a":28985,"t":"byte","b":[78,44,32,85,76,84,82,79]},{"a":28993,"t":"byte","b":[78,44,32,72,85,76,75,44]},{"a":29001,"t":"byte","b":[32,68,82,46,32,83,84,82]},{"a":29009,"t":"byte","b":[65,78,71,69,44,13,67,72]},{"a":29017,"t":"byte","b":[73,69,70,32,69,88,65,77]},{"a":29025,"t":"byte","b":[73,78,69,82,44,32,78,73]},{"a":29033,"t":"byte","b":[71,72,84,77,65,82,69,32]},{"a":29041,"t":"byte","b":[97,110,100,32,116,104,101,13]},{"a":29049,"t":"byte","b":[100,105,115,116,105,110,99,116]},{"a":29057,"t":"byte","b":[105,118,101,32,108,105,107,101]},{"a":29065,"t":"byte","b":[110,101,115,115,101,115,32,116]},{"a":29073,"t":"byte","b":[104,101,114,101,111,102,13,97]},{"a":29081,"t":"byte","b":[114,101,32,116,114,97,100,101]},{"a":29089,"t":"byte","b":[109,97,114,107,115,32,111,102]},{"a":29097,"t":"byte","b":[32,116,104,101,13,77,97,114]},{"a":29105,"t":"byte","b":[118,101,108,32,67,111,109,105]},{"a":29113,"t":"byte","b":[99,115,32,71,114,111,117,112]},{"a":29121,"t":"byte","b":[32,97,110,100,32,97,114,101]},{"a":29129,"t":"byte","b":[32,117,115,101,100,13,119,105]},{"a":29137,"t":"byte","b":[116,104,32,112,101,114,109,105]},{"a":29145,"t":"byte","b":[115,115,105,111,110,46,13,13]},{"a":29153,"t":"byte","b":[65,114,116,119,111,114,107,32]},{"a":29161,"t":"byte","b":[97,110,100,32,116,101,120,116]},{"a":29169,"t":"byte","b":[32,67,79,80,89,82,73,71]},{"a":29177,"t":"byte","b":[72,84,32,49,57,56,52,13]},{"a":29185,"t":"byte","b":[77,97,114,118,101,108,32,67]},{"a":29193,"t":"byte","b":[111,109,105,99,115,32,71,114]},{"a":29201,"t":"byte","b":[111,117,112,46,32,65,76,76]},{"a":29209,"t":"byte","b":[32,82,73,71,72,84,83,13]},{"a":29217,"t":"byte","b":[82,69,83,69,82,86,69,68]},{"a":29225,"t":"byte","b":[46,13,13,71,97,109,101,32]},{"a":29233,"t":"byte","b":[68,101,115,105,103,110,32,67]},{"a":29241,"t":"byte","b":[79,80,89,82,73,71,72,84]},{"a":29249,"t":"byte","b":[32,49,57,56,52,13,83,99]},{"a":29257,"t":"byte","b":[111,116,116,32,65,100,97,109]},{"a":29265,"t":"byte","b":[115,44,32,73,110,99,46,32]},{"a":29273,"t":"byte","b":[65,76,76,32,82,73,71,72]},{"a":29281,"t":"byte","b":[84,83,32,82,69,83,69,82]},{"a":29289,"t":"byte","b":[86,69,68,13,13,81,85,69]},{"a":29297,"t":"byte","b":[83,84,80,82,79,66,69,32]},{"a":29305,"t":"byte","b":[105,115,32,97,32,116,114,97]},{"a":29313,"t":"byte","b":[100,101,109,97,114,107,32,111]},{"a":29321,"t":"byte","b":[102,13,77,97,114,118,101,108]},{"a":29329,"t":"byte","b":[32,67,111,109,105,99,115,32]},{"a":29337,"t":"byte","b":[71,114,111,117,112,32,38,32]},{"a":29345,"t":"byte","b":[83,99,111,116,116,32,65,100]},{"a":29353,"t":"byte","b":[97,109,115,44,73,110,99,13]},{"a":29361,"t":"byte","b":[13]},{"a":29362,"l":"txt_hit_return_now","c":"\"HIT RETURN NOW!\" between newlines, the end of the copyright text, which the title screen prints again on its own","t":"byte","b":[72,73,84,32,82,69,84,85],"x":[28968]},{"a":29370,"t":"byte","b":[82,78,32,78,79,87,33,13]},{"a":29378,"t":"byte","b":[0]},{"a":29379,"l":"source_variables","c":"A piece of the original assembler's symbol table: the end of an entry named HOLD, then LX at $1E9F (the light's turns), K at $1EA1 (why GET or DROP failed) and the start of a name, \"TE\", at $1EA2, each entry a length, the address, $C0, two bytes and the name","t":"byte","b":[172,1,72,79,76,68,8,159]},{"a":29387,"t":"byte","b":[30,192,62,1,76,88,7,161]},{"a":29395,"t":"byte","b":[30,192,181,255,75,10,162,30]},{"a":29403,"t":"byte","b":[192,198,0,84,69]},{"a":29408,"l":"regs_module","c":"The register library's table. The program was written as if for a Z80: pairs of zero-page bytes stand for its registers, HL at $4E, DE at $50, BC at $52, IX at $54 and IY at $56, and these routines do what one Z80 instruction would (load, store, push, pull, add, compare, count up or down), most of them keeping A, X, Y and the flags","t":"code","b":[76,49,115],"m":"jmp","oa":29489,"x":[21645],"o":"store_hl"},{"a":29411,"l":"pushl_jmp","c":"PUSHL: to $73C2","t":"code","b":[76,194,115],"m":"jmp","oa":29634,"x":[21594],"o":"pushl"},{"a":29414,"l":"pullhl_jmp","c":"PULLHL: to $73C9","t":"code","b":[76,201,115],"m":"jmp","oa":29641,"x":[21597],"o":"pullhl"},{"a":29417,"l":"push_bc_jmp","c":"Push BC: to $73B4","t":"code","b":[76,180,115],"m":"jmp","oa":29620,"x":[21612],"o":"push_bc"},{"a":29420,"l":"pull_bc_jmp","c":"Pull BC: to $73BB","t":"code","b":[76,187,115],"m":"jmp","oa":29627,"x":[21615],"o":"pull_bc"},{"a":29423,"l":"push_de_jmp","c":"Push DE: to $73D0","t":"code","b":[76,208,115],"m":"jmp","oa":29648,"x":[21618],"o":"push_de"},{"a":29426,"l":"pull_de_jmp","c":"Pull DE: to $73D7","t":"code","b":[76,215,115],"m":"jmp","oa":29655,"x":[21621],"o":"pull_de"},{"a":29429,"l":"save_all_jmp","c":"Push everything: to $7403","t":"code","b":[76,3,116],"m":"jmp","oa":29699,"x":[21639],"o":"save_all"},{"a":29432,"l":"restore_all_jmp","c":"Pull everything: to $7430","t":"code","b":[76,48,116],"m":"jmp","oa":29744,"x":[21642],"o":"restore_all"},{"a":29435,"l":"inchl_jmp","c":"INCHL: to $7451","t":"code","b":[76,81,116],"m":"jmp","oa":29777,"x":[21582],"o":"inchl"},{"a":29438,"l":"inc_bc_jmp","c":"BC + 1: to $745A","t":"code","b":[76,90,116],"m":"jmp","oa":29786,"x":[21603],"o":"inc_bc"},{"a":29441,"l":"inc_de_jmp","c":"DE + 1: to $7464","t":"code","b":[76,100,116],"m":"jmp","oa":29796,"x":[21609],"o":"inc_de"},{"a":29444,"l":"dechl_jmp","c":"DECHL: to $7488","t":"code","b":[76,136,116],"m":"jmp","oa":29832,"x":[21579],"o":"dechl"},{"a":29447,"l":"decbc_jmp","c":"DECBC: to $7480","t":"code","b":[76,128,116],"m":"jmp","oa":29824,"x":[21600],"o":"decbc"},{"a":29450,"l":"dec_de_jmp","c":"DE - 1: to $7490","t":"code","b":[76,144,116],"m":"jmp","oa":29840,"x":[21606],"o":"dec_de"},{"a":29453,"l":"de_hl_jmp","c":"DE = HL: to $74AD","t":"code","b":[76,173,116],"m":"jmp","oa":29869,"x":[21630],"o":"de_from_hl"},{"a":29456,"l":"bc_hl_jmp","c":"BC = HL: to $74A5","t":"code","b":[76,165,116],"m":"jmp","oa":29861,"x":[21633],"o":"bc_from_hl"},{"a":29459,"l":"cmp_mem_jmp","c":"Compare HL with a word in memory: to $74EC","t":"code","b":[76,236,116],"m":"jmp","oa":29932,"x":[21624],"o":"cmp_hl_mem"},{"a":29462,"l":"cmp_imm_jmp","c":"Compare HL with a constant: to $74DB","t":"code","b":[76,219,116],"m":"jmp","oa":29915,"x":[21627],"o":"cmp_hl_imm"},{"a":29465,"l":"add_jmp","c":"HL + BC: to $7500","t":"code","b":[76,0,117],"m":"jmp","oa":29952,"x":[21636],"o":"add_hl_bc"},{"a":29468,"l":"sethli_jmp","c":"SETHLI: to $7527","t":"code","b":[76,39,117],"m":"jmp","oa":29991,"x":[21585],"o":"sethli"},{"a":29471,"l":"load_hl_jmp","c":"Load HL from memory: to $7512","t":"code","b":[76,18,117],"m":"jmp","oa":29970,"x":[21648],"o":"load_hl"},{"a":29474,"l":"push_ix_jmp","c":"Push IX: to $73E5","t":"code","b":[76,229,115],"m":"jmp","oa":29669,"x":[21651],"o":"push_ix"},{"a":29477,"l":"pull_ix_jmp","c":"Pull IX: to $73DE","t":"code","b":[76,222,115],"m":"jmp","oa":29662,"x":[21654],"o":"pull_ix"},{"a":29480,"l":"push_iy_jmp","c":"Push IY: to $73F3","t":"code","b":[76,243,115],"m":"jmp","oa":29683,"x":[21657],"o":"push_iy"},{"a":29483,"l":"pull_iy_jmp","c":"Pull IY: to $73EC","t":"code","b":[76,236,115],"m":"jmp","oa":29676,"x":[21660],"o":"pull_iy"},{"a":29486,"l":"inc_iy_jmp","c":"IY + 1: to $73FA","t":"code","b":[76,250,115],"m":"jmp","oa":29690,"x":[21663],"o":"inc_iy"},{"a":29489,"l":"store_hl","c":"Store HL at the address in the two bytes after the call (LD (nn),HL), and return past them","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[29408],"o":"SAVER"},{"a":29492,"t":"code","b":[32,70,115],"m":"jsr","oa":29510,"o":"inline_word"},{"a":29495,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":29497,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":29499,"t":"code","b":[145,57],"m":"sta","oa":57,"o":"(inline_lo),y"},{"a":29501,"t":"code","b":[200],"m":"iny"},{"a":29502,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":29504,"t":"code","b":[145,57],"m":"sta","oa":57,"o":"(inline_lo),y"},{"a":29506,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":29509,"t":"code","b":[96],"m":"rts"},{"a":29510,"l":"inline_word","c":"Fetch the two bytes after the call to the routine that called this one: they are read into $39-$3A and that routine's return address, seven and eight bytes up the stack (past SAVER's four bytes and this call's two), moved on by two, so it returns past them. Used by the five routines that take an inline word","t":"code","b":[186],"m":"tsx","x":[29492,29918,29935,29973,29994]},{"a":29511,"t":"code","b":[189,7,1],"m":"lda","oa":263,"o":"caller_ret_lo,x"},{"a":29514,"t":"code","b":[133,59],"m":"sta","oa":59,"o":"scratch_lo"},{"a":29516,"t":"code","b":[189,8,1],"m":"lda","oa":264,"o":"caller_ret_hi,x"},{"a":29519,"t":"code","b":[133,60],"m":"sta","oa":60,"o":"scratch_hi"},{"a":29521,"t":"code","b":[160,1],"m":"ldy","o":"#$01"},{"a":29523,"t":"code","b":[177,59],"m":"lda","oa":59,"o":"(scratch_lo),y"},{"a":29525,"t":"code","b":[133,57],"m":"sta","oa":57,"o":"inline_lo"},{"a":29527,"t":"code","b":[200],"m":"iny"},{"a":29528,"t":"code","b":[177,59],"m":"lda","oa":59,"o":"(scratch_lo),y"},{"a":29530,"t":"code","b":[133,58],"m":"sta","oa":58,"o":"inline_hi"},{"a":29532,"t":"code","b":[189,7,1],"m":"lda","oa":263,"o":"caller_ret_lo,x"},{"a":29535,"t":"code","b":[24],"m":"clc"},{"a":29536,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":29538,"t":"code","b":[157,7,1],"m":"sta","oa":263,"o":"caller_ret_lo,x"},{"a":29541,"t":"code","b":[189,8,1],"m":"lda","oa":264,"o":"caller_ret_hi,x"},{"a":29544,"t":"code","b":[105,0],"m":"adc","o":"#$00"},{"a":29546,"t":"code","b":[157,8,1],"m":"sta","oa":264,"o":"caller_ret_hi,x"},{"a":29549,"t":"code","b":[96],"m":"rts"},{"a":29550,"l":"push_pair","c":"Push the register pair at zero page X (high byte first, so the low is on top) beneath the caller's return address; A, X ($41) and the flags kept","t":"code","b":[133,59],"m":"sta","oa":59,"x":[29625,29639,29653],"o":"scratch_lo"},{"a":29552,"t":"code","b":[104],"m":"pla"},{"a":29553,"t":"code","b":[133,60],"m":"sta","oa":60,"o":"scratch_hi"},{"a":29555,"t":"code","b":[104],"m":"pla"},{"a":29556,"t":"code","b":[133,57],"m":"sta","oa":57,"o":"inline_lo"},{"a":29558,"t":"code","b":[104],"m":"pla"},{"a":29559,"t":"code","b":[133,58],"m":"sta","oa":58,"o":"inline_hi"},{"a":29561,"t":"code","b":[230,57],"m":"inc","oa":57,"o":"inline_lo"},{"a":29563,"t":"code","b":[208,2],"m":"bne","oa":29567,"o":"b_737F"},{"a":29565,"t":"code","b":[230,58],"m":"inc","oa":58,"o":"inline_hi"},{"a":29567,"l":"b_737F","t":"code","b":[234],"m":"nop","x":[29563]},{"a":29568,"t":"code","b":[181,1],"m":"lda","oa":1,"o":"cpu_port,x"},{"a":29570,"t":"code","b":[72],"m":"pha"},{"a":29571,"t":"code","b":[181,0],"m":"lda","oa":0,"o":"cpu_port_ddr,x"},{"a":29573,"t":"code","b":[72],"m":"pha"},{"a":29574,"t":"code","b":[166,65],"m":"ldx","oa":65,"o":"kept_x"},{"a":29576,"t":"code","b":[165,60],"m":"lda","oa":60,"o":"scratch_hi"},{"a":29578,"t":"code","b":[72],"m":"pha"},{"a":29579,"t":"code","b":[165,59],"m":"lda","oa":59,"o":"scratch_lo"},{"a":29581,"t":"code","b":[40],"m":"plp"},{"a":29582,"t":"code","b":[108,57,0],"m":"jmp","oa":57,"o":"(inline_lo)"},{"a":29585,"l":"pull_pair","c":"Pull a register pair into zero page X from beneath the caller's return address; A, X and the flags kept","t":"code","b":[133,59],"m":"sta","oa":59,"x":[29632,29646,29660],"o":"scratch_lo"},{"a":29587,"t":"code","b":[104],"m":"pla"},{"a":29588,"t":"code","b":[133,60],"m":"sta","oa":60,"o":"scratch_hi"},{"a":29590,"t":"code","b":[104],"m":"pla"},{"a":29591,"t":"code","b":[133,57],"m":"sta","oa":57,"o":"inline_lo"},{"a":29593,"t":"code","b":[104],"m":"pla"},{"a":29594,"t":"code","b":[133,58],"m":"sta","oa":58,"o":"inline_hi"},{"a":29596,"t":"code","b":[230,57],"m":"inc","oa":57,"o":"inline_lo"},{"a":29598,"t":"code","b":[208,2],"m":"bne","oa":29602,"o":"b_73A2"},{"a":29600,"t":"code","b":[230,58],"m":"inc","oa":58,"o":"inline_hi"},{"a":29602,"l":"b_73A2","t":"code","b":[234],"m":"nop","x":[29598]},{"a":29603,"t":"code","b":[104],"m":"pla"},{"a":29604,"t":"code","b":[149,0],"m":"sta","oa":0,"o":"cpu_port_ddr,x"},{"a":29606,"t":"code","b":[104],"m":"pla"},{"a":29607,"t":"code","b":[149,1],"m":"sta","oa":1,"o":"cpu_port,x"},{"a":29609,"t":"code","b":[166,65],"m":"ldx","oa":65,"o":"kept_x"},{"a":29611,"t":"code","b":[165,60],"m":"lda","oa":60,"o":"scratch_hi"},{"a":29613,"t":"code","b":[72],"m":"pha"},{"a":29614,"t":"code","b":[165,59],"m":"lda","oa":59,"o":"scratch_lo"},{"a":29616,"t":"code","b":[40],"m":"plp"},{"a":29617,"t":"code","b":[108,57,0],"m":"jmp","oa":57,"o":"(inline_lo)"},{"a":29620,"l":"push_bc","c":"Push BC","t":"code","b":[8],"m":"php","x":[29417]},{"a":29621,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29623,"t":"code","b":[162,82],"m":"ldx","o":"#$52"},{"a":29625,"t":"code","b":[208,179],"m":"bne","oa":29550,"o":"push_pair"},{"a":29627,"l":"pull_bc","c":"Pull BC","t":"code","b":[134,65],"m":"stx","oa":65,"x":[29420],"o":"kept_x"},{"a":29629,"t":"code","b":[8],"m":"php"},{"a":29630,"t":"code","b":[162,82],"m":"ldx","o":"#$52"},{"a":29632,"t":"code","b":[208,207],"m":"bne","oa":29585,"o":"pull_pair"},{"a":29634,"l":"pushl","c":"PUSHL: push HL","t":"code","b":[8],"m":"php","x":[29411]},{"a":29635,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29637,"t":"code","b":[162,78],"m":"ldx","o":"#$4E"},{"a":29639,"t":"code","b":[208,165],"m":"bne","oa":29550,"o":"push_pair"},{"a":29641,"l":"pullhl","c":"PULLHL: pull HL","t":"code","b":[8],"m":"php","x":[29414]},{"a":29642,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29644,"t":"code","b":[162,78],"m":"ldx","o":"#$4E"},{"a":29646,"t":"code","b":[208,193],"m":"bne","oa":29585,"o":"pull_pair"},{"a":29648,"l":"push_de","c":"Push DE","t":"code","b":[8],"m":"php","x":[29423]},{"a":29649,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29651,"t":"code","b":[162,80],"m":"ldx","o":"#$50"},{"a":29653,"l":"b_73D5","t":"code","b":[208,151],"m":"bne","oa":29550,"x":[29674,29688],"o":"push_pair"},{"a":29655,"l":"pull_de","c":"Pull DE","t":"code","b":[8],"m":"php","x":[29426]},{"a":29656,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29658,"t":"code","b":[162,80],"m":"ldx","o":"#$50"},{"a":29660,"l":"b_73DC","t":"code","b":[208,179],"m":"bne","oa":29585,"x":[29667,29681],"o":"pull_pair"},{"a":29662,"l":"pull_ix","c":"Pull IX","t":"code","b":[8],"m":"php","x":[29477]},{"a":29663,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29665,"t":"code","b":[162,84],"m":"ldx","o":"#$54"},{"a":29667,"t":"code","b":[208,247],"m":"bne","oa":29660,"o":"b_73DC"},{"a":29669,"l":"push_ix","c":"Push IX","t":"code","b":[8],"m":"php","x":[29474]},{"a":29670,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29672,"t":"code","b":[162,84],"m":"ldx","o":"#$54"},{"a":29674,"t":"code","b":[208,233],"m":"bne","oa":29653,"o":"b_73D5"},{"a":29676,"l":"pull_iy","c":"Pull IY","t":"code","b":[8],"m":"php","x":[29483]},{"a":29677,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29679,"t":"code","b":[162,86],"m":"ldx","o":"#$56"},{"a":29681,"t":"code","b":[208,233],"m":"bne","oa":29660,"o":"b_73DC"},{"a":29683,"l":"push_iy","c":"Push IY","t":"code","b":[8],"m":"php","x":[29480]},{"a":29684,"t":"code","b":[134,65],"m":"stx","oa":65,"o":"kept_x"},{"a":29686,"t":"code","b":[162,86],"m":"ldx","o":"#$56"},{"a":29688,"t":"code","b":[208,219],"m":"bne","oa":29653,"o":"b_73D5"},{"a":29690,"l":"inc_iy","c":"IY = IY + 1, the flags kept","t":"code","b":[8],"m":"php","x":[29486]},{"a":29691,"t":"code","b":[230,86],"m":"inc","oa":86,"o":"reg_iy"},{"a":29693,"t":"code","b":[208,89],"m":"bne","oa":29784,"o":"restore_flags_rts"},{"a":29695,"t":"code","b":[230,87],"m":"inc","oa":87,"o":"reg_iy_hi"},{"a":29697,"t":"code","b":[40],"m":"plp"},{"a":29698,"t":"code","b":[96],"m":"rts"},{"a":29699,"l":"save_all","c":"Push everything: A, X, Y and the flags (SAVER), then HL, BC, DE, IX and IY, all beneath the return address","t":"code","b":[8],"m":"php","x":[29429]},{"a":29700,"t":"code","b":[133,61],"m":"sta","oa":61,"o":"save_all_a"},{"a":29702,"t":"code","b":[104],"m":"pla"},{"a":29703,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"save_all_p"},{"a":29705,"t":"code","b":[104],"m":"pla"},{"a":29706,"t":"code","b":[133,63],"m":"sta","oa":63,"o":"save_all_ret_lo"},{"a":29708,"t":"code","b":[104],"m":"pla"},{"a":29709,"t":"code","b":[133,64],"m":"sta","oa":64,"o":"save_all_ret_hi"},{"a":29711,"t":"code","b":[165,62],"m":"lda","oa":62,"o":"save_all_p"},{"a":29713,"t":"code","b":[72],"m":"pha"},{"a":29714,"t":"code","b":[165,61],"m":"lda","oa":61,"o":"save_all_a"},{"a":29716,"t":"code","b":[40],"m":"plp"},{"a":29717,"t":"code","b":[32,84,84],"m":"jsr","oa":21588,"o":"SAVER"},{"a":29720,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":29723,"t":"code","b":[32,108,84],"m":"jsr","oa":21612,"o":"push_bc_slot"},{"a":29726,"t":"code","b":[32,114,84],"m":"jsr","oa":21618,"o":"push_de_slot"},{"a":29729,"t":"code","b":[32,147,84],"m":"jsr","oa":21651,"o":"push_ix_slot"},{"a":29732,"t":"code","b":[32,153,84],"m":"jsr","oa":21657,"o":"push_iy_slot"},{"a":29735,"t":"code","b":[230,63],"m":"inc","oa":63,"o":"save_all_ret_lo"},{"a":29737,"t":"code","b":[208,2],"m":"bne","oa":29741,"o":"b_742D"},{"a":29739,"t":"code","b":[230,64],"m":"inc","oa":64,"o":"save_all_ret_hi"},{"a":29741,"l":"b_742D","t":"code","b":[108,63,0],"m":"jmp","oa":63,"x":[29737],"o":"(save_all_ret_lo)"},{"a":29744,"l":"restore_all","c":"Pull everything $7403 pushed, in the opposite order, and return past it","t":"code","b":[104],"m":"pla","x":[29432]},{"a":29745,"t":"code","b":[133,61],"m":"sta","oa":61,"o":"save_all_a"},{"a":29747,"t":"code","b":[104],"m":"pla"},{"a":29748,"t":"code","b":[133,62],"m":"sta","oa":62,"o":"save_all_p"},{"a":29750,"t":"code","b":[32,156,84],"m":"jsr","oa":21660,"o":"pull_iy_slot"},{"a":29753,"t":"code","b":[32,150,84],"m":"jsr","oa":21654,"o":"pull_ix_slot"},{"a":29756,"t":"code","b":[32,117,84],"m":"jsr","oa":21621,"o":"pull_de_slot"},{"a":29759,"t":"code","b":[32,111,84],"m":"jsr","oa":21615,"o":"pull_bc_slot"},{"a":29762,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":29765,"t":"code","b":[32,87,84],"m":"jsr","oa":21591,"o":"GETER"},{"a":29768,"t":"code","b":[230,61],"m":"inc","oa":61,"o":"save_all_a"},{"a":29770,"t":"code","b":[208,2],"m":"bne","oa":29774,"o":"b_744E"},{"a":29772,"t":"code","b":[230,62],"m":"inc","oa":62,"o":"save_all_p"},{"a":29774,"l":"b_744E","t":"code","b":[108,61,0],"m":"jmp","oa":61,"x":[29770],"o":"(save_all_a)"},{"a":29777,"l":"inchl","c":"INCHL: HL = HL + 1, the flags kept","t":"code","b":[8],"m":"php","x":[29435]},{"a":29778,"t":"code","b":[230,78],"m":"inc","oa":78,"o":"reg_hl"},{"a":29780,"t":"code","b":[208,2],"m":"bne","oa":29784,"o":"restore_flags_rts"},{"a":29782,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"reg_hl_hi"},{"a":29784,"l":"restore_flags_rts","c":"Pull the flags and return: the end of the counting routines","t":"code","b":[40],"m":"plp","x":[29693,29780,29789,29793,29799,29803]},{"a":29785,"t":"code","b":[96],"m":"rts"},{"a":29786,"l":"inc_bc","c":"BC = BC + 1, the flags kept","t":"code","b":[8],"m":"php","x":[29438]},{"a":29787,"t":"code","b":[230,82],"m":"inc","oa":82,"o":"reg_bc"},{"a":29789,"t":"code","b":[208,249],"m":"bne","oa":29784,"o":"restore_flags_rts"},{"a":29791,"t":"code","b":[230,83],"m":"inc","oa":83,"o":"reg_bc_hi"},{"a":29793,"t":"code","b":[76,88,116],"m":"jmp","oa":29784,"o":"restore_flags_rts"},{"a":29796,"l":"inc_de","c":"DE = DE + 1, the flags kept","t":"code","b":[8],"m":"php","x":[29441]},{"a":29797,"t":"code","b":[230,80],"m":"inc","oa":80,"o":"reg_de"},{"a":29799,"t":"code","b":[208,239],"m":"bne","oa":29784,"o":"restore_flags_rts"},{"a":29801,"t":"code","b":[230,81],"m":"inc","oa":81,"o":"reg_de_hi"},{"a":29803,"t":"code","b":[76,88,116],"m":"jmp","oa":29784,"o":"restore_flags_rts"},{"a":29806,"l":"dec_pair","c":"Take one from the pair at zero page X, keeping A, X and the flags","t":"code","b":[56],"m":"sec","x":[29830,29838,29846]},{"a":29807,"t":"code","b":[181,0],"m":"lda","oa":0,"o":"cpu_port_ddr,x"},{"a":29809,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":29811,"t":"code","b":[149,0],"m":"sta","oa":0,"o":"cpu_port_ddr,x"},{"a":29813,"t":"code","b":[181,1],"m":"lda","oa":1,"o":"cpu_port,x"},{"a":29815,"t":"code","b":[233,0],"m":"sbc","o":"#$00"},{"a":29817,"t":"code","b":[149,1],"m":"sta","oa":1,"o":"cpu_port,x"},{"a":29819,"t":"code","b":[104],"m":"pla"},{"a":29820,"t":"code","b":[170],"m":"tax"},{"a":29821,"t":"code","b":[104],"m":"pla"},{"a":29822,"t":"code","b":[40],"m":"plp"},{"a":29823,"t":"code","b":[96],"m":"rts"},{"a":29824,"l":"decbc","c":"DECBC: BC = BC - 1","t":"code","b":[8],"m":"php","x":[29447]},{"a":29825,"t":"code","b":[72],"m":"pha"},{"a":29826,"t":"code","b":[138],"m":"txa"},{"a":29827,"t":"code","b":[72],"m":"pha"},{"a":29828,"t":"code","b":[162,82],"m":"ldx","o":"#$52"},{"a":29830,"t":"code","b":[208,230],"m":"bne","oa":29806,"o":"dec_pair"},{"a":29832,"l":"dechl","c":"DECHL: HL = HL - 1","t":"code","b":[8],"m":"php","x":[29444]},{"a":29833,"t":"code","b":[72],"m":"pha"},{"a":29834,"t":"code","b":[138],"m":"txa"},{"a":29835,"t":"code","b":[72],"m":"pha"},{"a":29836,"t":"code","b":[162,78],"m":"ldx","o":"#$4E"},{"a":29838,"t":"code","b":[208,222],"m":"bne","oa":29806,"o":"dec_pair"},{"a":29840,"l":"dec_de","c":"DE = DE - 1","t":"code","b":[8],"m":"php","x":[29450]},{"a":29841,"t":"code","b":[72],"m":"pha"},{"a":29842,"t":"code","b":[138],"m":"txa"},{"a":29843,"t":"code","b":[72],"m":"pha"},{"a":29844,"t":"code","b":[162,80],"m":"ldx","o":"#$50"},{"a":29846,"t":"code","b":[208,214],"m":"bne","oa":29806,"o":"dec_pair"},{"a":29848,"l":"pair_from_hl","c":"Copy HL into the pair at zero page X, keeping A, X and the flags","t":"code","b":[165,78],"m":"lda","oa":78,"x":[29867,29875],"o":"reg_hl"},{"a":29850,"t":"code","b":[149,0],"m":"sta","oa":0,"o":"cpu_port_ddr,x"},{"a":29852,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":29854,"t":"code","b":[149,1],"m":"sta","oa":1,"o":"cpu_port,x"},{"a":29856,"t":"code","b":[104],"m":"pla"},{"a":29857,"t":"code","b":[170],"m":"tax"},{"a":29858,"t":"code","b":[104],"m":"pla"},{"a":29859,"t":"code","b":[40],"m":"plp"},{"a":29860,"t":"code","b":[96],"m":"rts"},{"a":29861,"l":"bc_from_hl","c":"BC = HL","t":"code","b":[8],"m":"php","x":[29456]},{"a":29862,"t":"code","b":[72],"m":"pha"},{"a":29863,"t":"code","b":[138],"m":"txa"},{"a":29864,"t":"code","b":[72],"m":"pha"},{"a":29865,"t":"code","b":[162,82],"m":"ldx","o":"#$52"},{"a":29867,"t":"code","b":[208,235],"m":"bne","oa":29848,"o":"pair_from_hl"},{"a":29869,"l":"de_from_hl","c":"DE = HL","t":"code","b":[8],"m":"php","x":[29453]},{"a":29870,"t":"code","b":[72],"m":"pha"},{"a":29871,"t":"code","b":[138],"m":"txa"},{"a":29872,"t":"code","b":[72],"m":"pha"},{"a":29873,"t":"code","b":[162,80],"m":"ldx","o":"#$50"},{"a":29875,"t":"code","b":[208,227],"m":"bne","oa":29848,"o":"pair_from_hl"},{"a":29877,"l":"compare_hl","c":"Compare HL with the word in $3B-$3C and return Z set when equal. When the high byte of HL minus the word (borrowing from the low) is not 0, the other flags are those of that subtraction, so N set means HL is less; when it is 0 and the low byte is not, HL is more, and N and C are clear. A is kept","t":"code","b":[32,87,84],"m":"jsr","oa":21591,"x":[29929,29949],"o":"GETER"},{"a":29880,"t":"code","b":[133,57],"m":"sta","oa":57,"o":"inline_lo"},{"a":29882,"t":"code","b":[56],"m":"sec"},{"a":29883,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":29885,"t":"code","b":[229,59],"m":"sbc","oa":59,"o":"scratch_lo"},{"a":29887,"t":"code","b":[133,59],"m":"sta","oa":59,"o":"scratch_lo"},{"a":29889,"t":"code","b":[165,79],"m":"lda","oa":79,"o":"reg_hl_hi"},{"a":29891,"t":"code","b":[229,60],"m":"sbc","oa":60,"o":"scratch_hi"},{"a":29893,"t":"code","b":[8],"m":"php"},{"a":29894,"t":"code","b":[208,9],"m":"bne","oa":29905,"o":"b_74D1"},{"a":29896,"t":"code","b":[5,59],"m":"ora","oa":59,"o":"scratch_lo"},{"a":29898,"t":"code","b":[208,9],"m":"bne","oa":29909,"o":"b_74D5"},{"a":29900,"t":"code","b":[104],"m":"pla"},{"a":29901,"t":"code","b":[56],"m":"sec"},{"a":29902,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":29904,"l":"b_74D0","t":"code","b":[8],"m":"php","x":[29913]},{"a":29905,"l":"b_74D1","t":"code","b":[165,57],"m":"lda","oa":57,"x":[29894],"o":"inline_lo"},{"a":29907,"t":"code","b":[40],"m":"plp"},{"a":29908,"t":"code","b":[96],"m":"rts"},{"a":29909,"l":"b_74D5","t":"code","b":[104],"m":"pla","x":[29898]},{"a":29910,"t":"code","b":[24],"m":"clc"},{"a":29911,"t":"code","b":[169,1],"m":"lda","o":"#$01"},{"a":29913,"t":"code","b":[208,245],"m":"bne","oa":29904,"o":"b_74D0"},{"a":29915,"l":"cmp_hl_imm","c":"Compare HL with the word after the call","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[29462],"o":"SAVER"},{"a":29918,"t":"code","b":[32,70,115],"m":"jsr","oa":29510,"o":"inline_word"},{"a":29921,"t":"code","b":[165,57],"m":"lda","oa":57,"o":"inline_lo"},{"a":29923,"t":"code","b":[133,59],"m":"sta","oa":59,"o":"scratch_lo"},{"a":29925,"t":"code","b":[165,58],"m":"lda","oa":58,"o":"inline_hi"},{"a":29927,"t":"code","b":[133,60],"m":"sta","oa":60,"o":"scratch_hi"},{"a":29929,"t":"code","b":[76,181,116],"m":"jmp","oa":29877,"o":"compare_hl"},{"a":29932,"l":"cmp_hl_mem","c":"Compare HL with the word stored at the address after the call","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[29459],"o":"SAVER"},{"a":29935,"t":"code","b":[32,70,115],"m":"jsr","oa":29510,"o":"inline_word"},{"a":29938,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":29940,"t":"code","b":[177,57],"m":"lda","oa":57,"o":"(inline_lo),y"},{"a":29942,"t":"code","b":[133,59],"m":"sta","oa":59,"o":"scratch_lo"},{"a":29944,"t":"code","b":[200],"m":"iny"},{"a":29945,"t":"code","b":[177,57],"m":"lda","oa":57,"o":"(inline_lo),y"},{"a":29947,"t":"code","b":[133,60],"m":"sta","oa":60,"o":"scratch_hi"},{"a":29949,"t":"code","b":[76,181,116],"m":"jmp","oa":29877,"o":"compare_hl"},{"a":29952,"l":"add_hl_bc","c":"HL = HL + BC, A and the flags kept","t":"code","b":[8],"m":"php","x":[29465]},{"a":29953,"t":"code","b":[72],"m":"pha"},{"a":29954,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"reg_bc"},{"a":29956,"t":"code","b":[24],"m":"clc"},{"a":29957,"t":"code","b":[101,78],"m":"adc","oa":78,"o":"reg_hl"},{"a":29959,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":29961,"t":"code","b":[165,83],"m":"lda","oa":83,"o":"reg_bc_hi"},{"a":29963,"t":"code","b":[101,79],"m":"adc","oa":79,"o":"reg_hl_hi"},{"a":29965,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":29967,"t":"code","b":[104],"m":"pla"},{"a":29968,"t":"code","b":[40],"m":"plp"},{"a":29969,"t":"code","b":[96],"m":"rts"},{"a":29970,"l":"load_hl","c":"Load HL from the address in the two bytes after the call (LD HL,(nn))","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[29471],"o":"SAVER"},{"a":29973,"t":"code","b":[32,70,115],"m":"jsr","oa":29510,"o":"inline_word"},{"a":29976,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":29978,"t":"code","b":[177,57],"m":"lda","oa":57,"o":"(inline_lo),y"},{"a":29980,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":29982,"t":"code","b":[200],"m":"iny"},{"a":29983,"t":"code","b":[177,57],"m":"lda","oa":57,"o":"(inline_lo),y"},{"a":29985,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":29987,"l":"return_geter","c":"Return through GETER","t":"code","b":[32,87,84],"m":"jsr","oa":21591,"x":[30005],"o":"GETER"},{"a":29990,"t":"code","b":[96],"m":"rts"},{"a":29991,"l":"sethli","c":"SETHLI: HL = the two bytes after the call (LD HL,nn)","t":"code","b":[32,84,84],"m":"jsr","oa":21588,"x":[29468],"o":"SAVER"},{"a":29994,"t":"code","b":[32,70,115],"m":"jsr","oa":29510,"o":"inline_word"},{"a":29997,"t":"code","b":[165,57],"m":"lda","oa":57,"o":"inline_lo"},{"a":29999,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":30001,"t":"code","b":[165,58],"m":"lda","oa":58,"o":"inline_hi"},{"a":30003,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":30005,"t":"code","b":[76,35,117],"m":"jmp","oa":29987,"o":"return_geter"},{"a":30008,"l":"source_symbols_2","c":"Eight bytes of the original assembler's symbol table: the end of READK's entry and the start of CLS's ($543C)","t":"byte","b":[75,9,60,84,192,253,3,67]},{"a":30016,"l":"picture_module","c":"This module's table: draw the room ($759E), draw an item's piece ($7634), picture on ($7576) and off ($758A), the darkness test ($7560), clear the bitmap ($7CD7), paint row 20 ($7CF3), load a picture ($7777), send the fast loader ($7904) and send it a byte ($78A3)","t":"code","b":[76,158,117],"m":"jmp","oa":30110,"x":[21669],"o":"draw_room"},{"a":30019,"l":"draw_item_jmp","c":"Draw an item's piece: to $7634","t":"code","b":[76,52,118],"m":"jmp","oa":30260,"x":[21672],"o":"draw_item"},{"a":30022,"l":"picture_on_jmp","c":"Picture on: to $7576","t":"code","b":[76,118,117],"m":"jmp","oa":30070,"x":[21675],"o":"picture_on"},{"a":30025,"l":"picture_off_jmp","c":"Picture off: to $758A","t":"code","b":[76,138,117],"m":"jmp","oa":30090,"x":[21678],"o":"picture_off"},{"a":30028,"l":"dark_test_jmp","c":"Darkness test: to $7560","t":"code","b":[76,96,117],"m":"jmp","oa":30048,"x":[21681],"o":"dark_test"},{"a":30031,"l":"clear_bitmap_jmp","c":"Clear the bitmap: to $7CD7","t":"code","b":[76,215,124],"m":"jmp","oa":31959,"x":[21702],"o":"clear_bitmap"},{"a":30034,"l":"colour_row_jmp","c":"Paint row 20: to $7CF3","t":"code","b":[76,243,124],"m":"jmp","oa":31987,"x":[21705],"o":"colour_row_20"},{"a":30037,"l":"load_picture_jmp","c":"Load a picture or piece: to $7777","t":"code","b":[76,119,119],"m":"jmp","oa":30583,"x":[21711],"o":"load_picture"},{"a":30040,"l":"drive_code_jmp","c":"Send the fast loader: to $7904","t":"code","b":[76,4,121],"m":"jmp","oa":30980,"x":[21717],"o":"send_drive_code"},{"a":30043,"l":"drive_send_jmp","c":"Send a byte to the drive: to $78A3","t":"code","b":[76,163,120],"m":"jmp","oa":30883,"x":[21720],"o":"send_byte"},{"a":30046,"l":"cached_picture","c":"The number of the room picture kept in the cache at $4000 (1 when the snapshot was taken: the first room's)","t":"byte","b":[1],"x":[30152,31115]},{"a":30047,"l":"piece_number","c":"The number of the item piece being loaded","t":"byte","b":[0],"x":[30279,30295]},{"a":30048,"l":"dark_test","c":"Z clear when the player cannot see: the dark flag ($1C11) set and item 9, the light, neither carried nor here","t":"code","b":[173,17,28],"m":"lda","oa":7185,"x":[30028],"o":"flag_dark"},{"a":30051,"t":"code","b":[240,16],"m":"beq","oa":30069,"o":"r_7575"},{"a":30053,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":30056,"c":"The pointer at $1C3A, for item 9's location: is the light carried or here?","t":"addr","b":[58,28],"oa":7226,"o":"items_ptr"},{"a":30058,"c":"Carried ($FF) or here: Z set","t":"code","b":[160,18],"m":"ldy","o":"#$12"},{"a":30060,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":30062,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":30064,"t":"code","b":[240,3],"m":"beq","oa":30069,"o":"r_7575"},{"a":30066,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":30069,"l":"r_7575","t":"code","b":[96],"m":"rts","x":[30051,30064]},{"a":30070,"l":"picture_on","c":"Turn the picture on ($1F22) and draw the room, if it was off","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[30022],"o":"save_all_slot"},{"a":30073,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":30076,"t":"code","b":[208,8],"m":"bne","oa":30086,"o":"b_7586"},{"a":30078,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":30080,"t":"code","b":[141,34,31],"m":"sta","oa":7970,"o":"picture_flag"},{"a":30083,"t":"code","b":[32,165,84],"m":"jsr","oa":21669,"o":"draw_room_slot"},{"a":30086,"l":"b_7586","t":"code","b":[32,138,84],"m":"jsr","oa":21642,"x":[30076],"o":"restore_all_slot"},{"a":30089,"t":"code","b":[96],"m":"rts"},{"a":30090,"l":"picture_off","c":"Turn the picture off and clear the screen, if it was on","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[30025],"o":"save_all_slot"},{"a":30093,"t":"code","b":[173,34,31],"m":"lda","oa":7970,"o":"picture_flag"},{"a":30096,"t":"code","b":[240,8],"m":"beq","oa":30106,"o":"b_759A"},{"a":30098,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":30100,"t":"code","b":[141,34,31],"m":"sta","oa":7970,"o":"picture_flag"},{"a":30103,"t":"code","b":[32,60,84],"m":"jsr","oa":21564,"o":"CLS"},{"a":30106,"l":"b_759A","t":"code","b":[32,138,84],"m":"jsr","oa":21642,"x":[30096],"o":"restore_all_slot"},{"a":30109,"t":"code","b":[96],"m":"rts"},{"a":30110,"l":"draw_room","c":"Draw the current room's picture and the items in it. With the picture off, only note that it is owed ($1F20 = 1). The room's picture number comes from $7A57 (some rooms share one), 0 if the room is dark. The bitmap is cleared; a picture kept in the cache at $4000 is copied back from there, any other loaded from the disk ($7777) and kept in the cache if its number is under 80; then the items in the room are drawn over it ($75F7)","t":"code","b":[173,34,31],"m":"lda","oa":7970,"x":[30016],"o":"picture_flag"},{"a":30113,"t":"code","b":[208,3],"m":"bne","oa":30118,"o":"b_75A6"},{"a":30115,"t":"code","b":[76,241,117],"m":"jmp","oa":30193,"o":"picture_owed"},{"a":30118,"l":"b_75A6","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[30113],"o":"save_all_slot"},{"a":30121,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":30124,"t":"code","b":[32,87,122],"m":"jsr","oa":31319,"o":"room_picture"},{"a":30127,"t":"code","b":[141,240,117],"m":"sta","oa":30192,"o":"picture_number"},{"a":30130,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":30132,"t":"code","b":[141,32,31],"m":"sta","oa":7968,"o":"picture_owed_count"},{"a":30135,"t":"code","b":[32,177,84],"m":"jsr","oa":21681,"o":"dark_test_slot"},{"a":30138,"t":"code","b":[240,5],"m":"beq","oa":30145,"o":"b_75C1"},{"a":30140,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":30142,"t":"code","b":[141,240,117],"m":"sta","oa":30192,"o":"picture_number"},{"a":30145,"l":"b_75C1","t":"code","b":[234],"m":"nop","x":[30138]},{"a":30146,"t":"code","b":[32,198,84],"m":"jsr","oa":21702,"o":"clear_bitmap_slot"},{"a":30149,"t":"code","b":[173,240,117],"m":"lda","oa":30192,"o":"picture_number"},{"a":30152,"t":"code","b":[205,94,117],"m":"cmp","oa":30046,"o":"cached_picture"},{"a":30155,"t":"code","b":[208,9],"m":"bne","oa":30166,"o":"b_75D6"},{"a":30157,"t":"code","b":[32,164,121],"m":"jsr","oa":31140,"o":"restore_picture"},{"a":30160,"t":"code","b":[32,144,122],"m":"jsr","oa":31376,"o":"draw_picture"},{"a":30163,"t":"code","b":[76,228,117],"m":"jmp","oa":30180,"o":"j_75E4"},{"a":30166,"l":"b_75D6","t":"code","b":[160,0],"m":"ldy","x":[30155],"o":"#$00"},{"a":30168,"t":"code","b":[173,240,117],"m":"lda","oa":30192,"o":"picture_number"},{"a":30171,"t":"code","b":[32,119,119],"m":"jsr","oa":30583,"o":"load_picture"},{"a":30174,"t":"code","b":[32,144,122],"m":"jsr","oa":31376,"o":"draw_picture"},{"a":30177,"t":"code","b":[32,132,121],"m":"jsr","oa":31108,"o":"cache_picture"},{"a":30180,"l":"j_75E4","t":"code","b":[32,247,117],"m":"jsr","oa":30199,"x":[30163],"o":"draw_items_here"},{"a":30183,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":30185,"t":"code","b":[141,34,31],"m":"sta","oa":7970,"o":"picture_flag"},{"a":30188,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":30191,"t":"code","b":[96],"m":"rts"},{"a":30192,"l":"picture_number","c":"The number of the picture being drawn","t":"byte","b":[1],"x":[30127,30142,30149,30168,31108]},{"a":30193,"l":"picture_owed","c":"The picture is off: note that it is owed","t":"code","b":[169,1],"m":"lda","x":[30115,30263],"o":"#$01"},{"a":30195,"t":"code","b":[141,32,31],"m":"sta","oa":7968,"o":"picture_owed_count"},{"a":30198,"t":"code","b":[96],"m":"rts"},{"a":30199,"l":"draw_items_here","c":"Draw the piece of every item in the room, from item 0 up to the last, each over those before it; each piece sets the picture's colours again ($7A9A), so the last one drawn gives the whole picture its colours. In room 98, the carried items' picture, the room is set to $FF first, so the items drawn are those carried","t":"code","b":[173,34,28],"m":"lda","oa":7202,"x":[30180],"o":"room"},{"a":30202,"t":"code","b":[201,98],"m":"cmp","o":"#$62"},{"a":30204,"t":"code","b":[208,5],"m":"bne","oa":30211,"o":"b_7603"},{"a":30206,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":30208,"t":"code","b":[141,34,28],"m":"sta","oa":7202,"o":"room"},{"a":30211,"l":"b_7603","t":"code","b":[234],"m":"nop","x":[30204]},{"a":30212,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":30215,"c":"$FFFF, so that the first step up makes HL item 0","t":"word","b":[255,255],"d":[65535]},{"a":30217,"c":"For each item whose location is this room, draw its piece ($54A8)","t":"code","b":[173,108,128],"m":"lda","oa":32876,"o":"db_last_item"},{"a":30220,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":30222,"t":"code","b":[230,82],"m":"inc","oa":82,"o":"reg_bc"},{"a":30224,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":30226,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":30228,"l":"b_7614","t":"code","b":[198,82],"m":"dec","oa":82,"x":[30257],"o":"reg_bc"},{"a":30230,"t":"code","b":[32,78,84],"m":"jsr","oa":21582,"o":"INCHL"},{"a":30233,"t":"code","b":[32,90,84],"m":"jsr","oa":21594,"o":"PUSHL"},{"a":30236,"t":"code","b":[32,69,84],"m":"jsr","oa":21573,"o":"GETIA"},{"a":30239,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":30242,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":30245,"t":"code","b":[208,8],"m":"bne","oa":30255,"o":"b_762F"},{"a":30247,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":30249,"t":"code","b":[141,33,31],"m":"sta","oa":7969,"o":"piece_item"},{"a":30252,"t":"code","b":[32,168,84],"m":"jsr","oa":21672,"o":"draw_item_slot"},{"a":30255,"l":"b_762F","t":"code","b":[165,82],"m":"lda","oa":82,"x":[30245],"o":"reg_bc"},{"a":30257,"t":"code","b":[208,225],"m":"bne","oa":30228,"o":"b_7614"},{"a":30259,"t":"code","b":[96],"m":"rts"},{"a":30260,"l":"draw_item","c":"Draw item $1F21's piece over the picture, unless the picture is owed anyway or the room is dark. The piece's number may be changed for this room ($79EA); it is loaded as an inventory piece (\"I\") in the carried items' picture and as a room piece (\"R\") elsewhere, and drawn ($7A90) with the picture's bottom row ($1F26) kept","t":"code","b":[173,32,31],"m":"lda","oa":7968,"x":[30019],"o":"picture_owed_count"},{"a":30263,"t":"code","b":[208,184],"m":"bne","oa":30193,"o":"picture_owed"},{"a":30265,"t":"code","b":[32,135,84],"m":"jsr","oa":21639,"o":"save_all_slot"},{"a":30268,"t":"code","b":[32,177,84],"m":"jsr","oa":21681,"o":"dark_test_slot"},{"a":30271,"t":"code","b":[208,39],"m":"bne","oa":30312,"o":"b_7668"},{"a":30273,"t":"code","b":[173,33,31],"m":"lda","oa":7969,"o":"piece_item"},{"a":30276,"t":"code","b":[32,234,121],"m":"jsr","oa":31210,"o":"piece_for_room"},{"a":30279,"t":"code","b":[141,95,117],"m":"sta","oa":30047,"o":"piece_number"},{"a":30282,"t":"code","b":[173,34,28],"m":"lda","oa":7202,"o":"room"},{"a":30285,"t":"code","b":[162,1],"m":"ldx","o":"#$01"},{"a":30287,"t":"code","b":[201,255],"m":"cmp","o":"#$FF"},{"a":30289,"t":"code","b":[240,2],"m":"beq","oa":30293,"o":"b_7655"},{"a":30291,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":30293,"l":"b_7655","t":"code","b":[160,1],"m":"ldy","x":[30289],"o":"#$01"},{"a":30295,"t":"code","b":[173,95,117],"m":"lda","oa":30047,"o":"piece_number"},{"a":30298,"t":"code","b":[32,119,119],"m":"jsr","oa":30583,"o":"load_picture"},{"a":30301,"t":"code","b":[173,38,31],"m":"lda","oa":7974,"o":"picture_height"},{"a":30304,"t":"code","b":[72],"m":"pha"},{"a":30305,"t":"code","b":[32,144,122],"m":"jsr","oa":31376,"o":"draw_picture"},{"a":30308,"t":"code","b":[104],"m":"pla"},{"a":30309,"t":"code","b":[141,38,31],"m":"sta","oa":7974,"o":"picture_height"},{"a":30312,"l":"b_7668","t":"code","b":[32,138,84],"m":"jsr","oa":21642,"x":[30271],"o":"restore_all_slot"},{"a":30315,"t":"code","b":[96],"m":"rts"},{"a":30316,"l":"picture_name","c":"The seven characters of the file name sent to the drive: \"R??001*\" when the snapshot was taken. A room picture is \"R??\" and three digits; a piece is \"B??\", three digits and \"I\" or \"R\"; \"??\" matches the \"01\" of every file on the disk","t":"byte","b":[82],"x":[30595,30639,30708,30923]},{"a":30317,"l":"picture_name_any","c":"The name's two '?' wildcards, which take whatever the disk has in those places","t":"byte","b":[63],"x":[30644]},{"a":30318,"l":"picture_name_any_2","c":"The second wildcard","t":"byte","b":[63],"x":[30647]},{"a":30319,"l":"picture_name_100s","c":"The picture number's hundreds digit, from $78FA","t":"byte","b":[48],"x":[30670]},{"a":30320,"l":"picture_name_10s","c":"The tens digit","t":"byte","b":[48],"x":[30691]},{"a":30321,"l":"picture_name_1s","c":"The units digit","t":"byte","b":[49],"x":[30697]},{"a":30322,"l":"picture_name_kind","c":"The name's last character: '*' a room picture, 'I' an inventory piece, 'R' a room piece","t":"byte","b":[42],"x":[30600,30634]},{"a":30323,"l":"picture_num_work","c":"The picture number as asked for, worn down to its digits","t":"byte","b":[1],"x":[30583,30611,30652,30664,30673]},{"a":30324,"l":"picture_num_kept","c":"The picture number kept, for marking a piece missing at $7675 when the load fails","t":"byte","b":[1],"x":[30586,30930]},{"a":30325,"l":"missing_pieces","c":"256 bytes, one for each piece number: not 0 once loading a piece of that number failed, a room piece or an inventory one ($78CB), so the room piece of that number is not tried again ($7793)","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[30614,30933]},{"a":30333,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30341,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30349,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30357,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30365,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30373,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30381,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30389,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30397,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30405,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30413,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30421,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30429,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30437,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30445,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30453,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30461,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30469,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30477,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30485,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30493,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30501,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30509,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30517,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30525,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30533,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30541,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30549,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30557,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30565,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30573,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":30581,"l":"gap_7775","c":"Two zero bytes after the table, unused","t":"byte","b":[0,0]},{"a":30583,"l":"load_picture","c":"Load a picture or piece from the disk into $07FE on (the file's two-byte address goes to $07FE, its data from $0800): A is its number, Y = 0 a room picture \"R??nnn*\", Y = 1 a piece, X = 1 an inventory piece \"B??nnnI\", otherwise a room piece \"B??nnnR\" (skipped, and the buffer left empty, when $7675 says it is missing). The seven characters go to the drive's fast loader ($78A3); a status byte comes back, then blocks of a count and that many bytes, until a count of 0. A failure prints \"DISK ERROR!\", except for a piece, which is noted as missing","t":"code","b":[141,115,118],"m":"sta","oa":30323,"x":[30037,30171,30298],"o":"picture_num_work"},{"a":30586,"t":"code","b":[141,116,118],"m":"sta","oa":30324,"o":"picture_num_kept"},{"a":30589,"t":"code","b":[192,1],"m":"cpy","o":"#$01"},{"a":30591,"t":"code","b":[240,12],"m":"beq","oa":30605,"o":"b_778D"},{"a":30593,"t":"code","b":[169,82],"m":"lda","o":"#$52"},{"a":30595,"t":"code","b":[141,108,118],"m":"sta","oa":30316,"o":"picture_name"},{"a":30598,"t":"code","b":[169,42],"m":"lda","o":"#$2A"},{"a":30600,"t":"code","b":[141,114,118],"m":"sta","oa":30322,"o":"picture_name_kind"},{"a":30603,"t":"code","b":[208,37],"m":"bne","oa":30642,"o":"b_77B2"},{"a":30605,"l":"b_778D","t":"code","b":[138],"m":"txa","x":[30591]},{"a":30606,"t":"code","b":[168],"m":"tay"},{"a":30607,"t":"code","b":[192,1],"m":"cpy","o":"#$01"},{"a":30609,"t":"code","b":[240,21],"m":"beq","oa":30632,"o":"b_77A8"},{"a":30611,"t":"code","b":[174,115,118],"m":"ldx","oa":30323,"o":"picture_num_work"},{"a":30614,"t":"code","b":[189,117,118],"m":"lda","oa":30325,"o":"missing_pieces,x"},{"a":30617,"t":"code","b":[208,4],"m":"bne","oa":30623,"o":"b_779F"},{"a":30619,"t":"code","b":[169,82],"m":"lda","o":"#$52"},{"a":30621,"t":"code","b":[208,11],"m":"bne","oa":30634,"o":"b_77AA"},{"a":30623,"l":"b_779F","t":"code","b":[169,0],"m":"lda","x":[30617],"o":"#$00"},{"a":30625,"t":"code","b":[141,0,8],"m":"sta","oa":2048,"o":"picture_buffer"},{"a":30628,"t":"code","b":[141,1,8],"m":"sta","oa":2049,"o":"picture_buffer_1"},{"a":30631,"t":"code","b":[96],"m":"rts"},{"a":30632,"l":"b_77A8","t":"code","b":[169,73],"m":"lda","x":[30609],"o":"#$49"},{"a":30634,"l":"b_77AA","t":"code","b":[141,114,118],"m":"sta","oa":30322,"x":[30621],"o":"picture_name_kind"},{"a":30637,"t":"code","b":[169,66],"m":"lda","o":"#$42"},{"a":30639,"t":"code","b":[141,108,118],"m":"sta","oa":30316,"o":"picture_name"},{"a":30642,"l":"b_77B2","t":"code","b":[169,63],"m":"lda","x":[30603],"o":"#$3F"},{"a":30644,"t":"code","b":[141,109,118],"m":"sta","oa":30317,"o":"picture_name_any"},{"a":30647,"t":"code","b":[141,110,118],"m":"sta","oa":30318,"o":"picture_name_any_2"},{"a":30650,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":30652,"t":"code","b":[173,115,118],"m":"lda","oa":30323,"o":"picture_num_work"},{"a":30655,"l":"b_77BF","t":"code","b":[232],"m":"inx","x":[30659]},{"a":30656,"t":"code","b":[56],"m":"sec"},{"a":30657,"t":"code","b":[233,100],"m":"sbc","o":"#$64"},{"a":30659,"t":"code","b":[176,250],"m":"bcs","oa":30655,"o":"b_77BF"},{"a":30661,"t":"code","b":[202],"m":"dex"},{"a":30662,"t":"code","b":[105,100],"m":"adc","o":"#$64"},{"a":30664,"t":"code","b":[141,115,118],"m":"sta","oa":30323,"o":"picture_num_work"},{"a":30667,"t":"code","b":[189,250,120],"m":"lda","oa":30970,"o":"digits,x"},{"a":30670,"t":"code","b":[141,111,118],"m":"sta","oa":30319,"o":"picture_name_100s"},{"a":30673,"t":"code","b":[173,115,118],"m":"lda","oa":30323,"o":"picture_num_work"},{"a":30676,"t":"code","b":[162,0],"m":"ldx","o":"#$00"},{"a":30678,"l":"b_77D6","t":"code","b":[232],"m":"inx","x":[30682]},{"a":30679,"t":"code","b":[56],"m":"sec"},{"a":30680,"t":"code","b":[233,10],"m":"sbc","o":"#$0A"},{"a":30682,"t":"code","b":[176,250],"m":"bcs","oa":30678,"o":"b_77D6"},{"a":30684,"t":"code","b":[202],"m":"dex"},{"a":30685,"t":"code","b":[105,10],"m":"adc","o":"#$0A"},{"a":30687,"t":"code","b":[168],"m":"tay"},{"a":30688,"t":"code","b":[189,250,120],"m":"lda","oa":30970,"o":"digits,x"},{"a":30691,"t":"code","b":[141,112,118],"m":"sta","oa":30320,"o":"picture_name_10s"},{"a":30694,"t":"code","b":[185,250,120],"m":"lda","oa":30970,"o":"digits,y"},{"a":30697,"t":"code","b":[141,113,118],"m":"sta","oa":30321,"o":"picture_name_1s"},{"a":30700,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":30702,"t":"code","b":[141,202,120],"m":"sta","oa":30922,"o":"name_index"},{"a":30705,"l":"b_77F1","t":"code","b":[174,202,120],"m":"ldx","oa":30922,"x":[30722],"o":"name_index"},{"a":30708,"t":"code","b":[189,108,118],"m":"lda","oa":30316,"o":"picture_name,x"},{"a":30711,"t":"code","b":[32,163,120],"m":"jsr","oa":30883,"o":"send_byte"},{"a":30714,"t":"code","b":[238,202,120],"m":"inc","oa":30922,"o":"name_index"},{"a":30717,"t":"code","b":[173,202,120],"m":"lda","oa":30922,"o":"name_index"},{"a":30720,"t":"code","b":[201,7],"m":"cmp","o":"#$07"},{"a":30722,"t":"code","b":[208,237],"m":"bne","oa":30705,"o":"b_77F1"},{"a":30724,"t":"code","b":[32,89,120],"m":"jsr","oa":30809,"o":"receive_byte"},{"a":30727,"t":"code","b":[240,3],"m":"beq","oa":30732,"o":"b_780C"},{"a":30729,"t":"code","b":[76,203,120],"m":"jmp","oa":30923,"o":"load_failed"},{"a":30732,"l":"b_780C","t":"code","b":[169,254],"m":"lda","x":[30727],"o":"#$FE"},{"a":30734,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":30736,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":30738,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":30740,"l":"b_7814","t":"code","b":[32,89,120],"m":"jsr","oa":30809,"x":[30764],"o":"receive_byte"},{"a":30743,"t":"code","b":[240,21],"m":"beq","oa":30766,"o":"r_782E"},{"a":30745,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"reg_iy_hi"},{"a":30747,"l":"b_781B","t":"code","b":[32,89,120],"m":"jsr","oa":30809,"x":[30762],"o":"receive_byte"},{"a":30750,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":30752,"t":"code","b":[145,84],"m":"sta","oa":84,"o":"(reg_ix),y"},{"a":30754,"t":"code","b":[230,84],"m":"inc","oa":84,"o":"reg_ix"},{"a":30756,"t":"code","b":[208,2],"m":"bne","oa":30760,"o":"b_7828"},{"a":30758,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"reg_ix_hi"},{"a":30760,"l":"b_7828","t":"code","b":[198,87],"m":"dec","oa":87,"x":[30756],"o":"reg_iy_hi"},{"a":30762,"t":"code","b":[208,239],"m":"bne","oa":30747,"o":"b_781B"},{"a":30764,"t":"code","b":[240,230],"m":"beq","oa":30740,"o":"b_7814"},{"a":30766,"l":"r_782E","t":"code","b":[96],"m":"rts","x":[30743]},{"a":30767,"l":"read_port","c":"Read $DD00 until two reads agree","t":"code","b":[173,0,221],"m":"lda","x":[30773,30799,30821,30890],"o":"cia2_port_a"},{"a":30770,"t":"code","b":[205,0,221],"m":"cmp","o":"cia2_port_a"},{"a":30773,"t":"code","b":[208,248],"m":"bne","oa":30767,"o":"read_port"},{"a":30775,"t":"code","b":[96],"m":"rts"},{"a":30776,"l":"clock_out_low","c":"Set the clock-out bit of CIA 2's port A ($DD00 bit 4) and clear the data-out bit (bit 5): the C64's side of the serial bus to the drive","t":"code","b":[173,0,221],"m":"lda","x":[30796],"o":"cia2_port_a"},{"a":30779,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":30781,"t":"code","b":[41,223],"m":"and","o":"#$DF"},{"a":30783,"t":"code","b":[208,5],"m":"bne","oa":30790,"o":"b_7846"},{"a":30785,"l":"release_lines","c":"Clear the clock-out and data-out bits ($DD00 bits 4 and 5)","t":"code","b":[173,0,221],"m":"lda","x":[30806,30915],"o":"cia2_port_a"},{"a":30788,"t":"code","b":[41,207],"m":"and","o":"#$CF"},{"a":30790,"l":"b_7846","t":"code","b":[141,0,221],"m":"sta","x":[30783],"o":"cia2_port_a"},{"a":30793,"t":"code","b":[234],"m":"nop"},{"a":30794,"t":"code","b":[234],"m":"nop"},{"a":30795,"t":"code","b":[96],"m":"rts"},{"a":30796,"l":"handshake","c":"Set the clock-out bit, wait until the data-in bit ($DD00 bit 7) reads 0, then clear both outputs","t":"code","b":[32,56,120],"m":"jsr","oa":30776,"x":[30887],"o":"clock_out_low"},{"a":30799,"l":"b_784F","t":"code","b":[32,47,120],"m":"jsr","oa":30767,"x":[30804],"o":"read_port"},{"a":30802,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":30804,"t":"code","b":[208,249],"m":"bne","oa":30799,"o":"b_784F"},{"a":30806,"t":"code","b":[76,65,120],"m":"jmp","oa":30785,"o":"release_lines"},{"a":30809,"l":"receive_byte","c":"Receive a byte from the fast loader, one bit at a time: set the clock-out bit, wait until data-in reads 0, clear clock-out; then for each bit wait until data-in reads 1, set clock-out, wait 7 loops, read data-in into $56 and clear clock-out. Eight bits in (the marker bit set in $56 falls out), the byte is returned inverted","t":"code","b":[169,128],"m":"lda","x":[30724,30740,30747],"o":"#$80"},{"a":30811,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":30813,"t":"code","b":[173,0,221],"m":"lda","o":"cia2_port_a"},{"a":30816,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":30818,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":30821,"l":"b_7865","t":"code","b":[32,47,120],"m":"jsr","oa":30767,"x":[30827],"o":"read_port"},{"a":30824,"t":"code","b":[168],"m":"tay"},{"a":30825,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":30827,"t":"code","b":[208,248],"m":"bne","oa":30821,"o":"b_7865"},{"a":30829,"t":"code","b":[152],"m":"tya"},{"a":30830,"t":"code","b":[41,239],"m":"and","o":"#$EF"},{"a":30832,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":30835,"l":"b_7873","t":"code","b":[173,0,221],"m":"lda","x":[30841,30845,30876],"o":"cia2_port_a"},{"a":30838,"t":"code","b":[205,0,221],"m":"cmp","o":"cia2_port_a"},{"a":30841,"t":"code","b":[208,248],"m":"bne","oa":30835,"o":"b_7873"},{"a":30843,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":30845,"t":"code","b":[240,244],"m":"beq","oa":30835,"o":"b_7873"},{"a":30847,"t":"code","b":[173,0,221],"m":"lda","o":"cia2_port_a"},{"a":30850,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":30852,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":30855,"t":"code","b":[234],"m":"nop"},{"a":30856,"t":"code","b":[234],"m":"nop"},{"a":30857,"t":"code","b":[234],"m":"nop"},{"a":30858,"t":"code","b":[162,7],"m":"ldx","o":"#$07"},{"a":30860,"l":"b_788C","t":"code","b":[202],"m":"dex","x":[30861]},{"a":30861,"t":"code","b":[208,253],"m":"bne","oa":30860,"o":"b_788C"},{"a":30863,"t":"code","b":[173,0,221],"m":"lda","o":"cia2_port_a"},{"a":30866,"t":"code","b":[168],"m":"tay"},{"a":30867,"t":"code","b":[41,239],"m":"and","o":"#$EF"},{"a":30869,"t":"code","b":[141,0,221],"m":"sta","o":"cia2_port_a"},{"a":30872,"t":"code","b":[152],"m":"tya"},{"a":30873,"t":"code","b":[10],"m":"asl","o":"a"},{"a":30874,"t":"code","b":[102,86],"m":"ror","oa":86,"o":"reg_iy"},{"a":30876,"t":"code","b":[144,213],"m":"bcc","oa":30835,"o":"b_7873"},{"a":30878,"t":"code","b":[165,86],"m":"lda","oa":86,"o":"reg_iy"},{"a":30880,"t":"code","b":[73,255],"m":"eor","o":"#$FF"},{"a":30882,"t":"code","b":[96],"m":"rts"},{"a":30883,"l":"send_byte","c":"Send the byte in A to the fast loader, one bit at a time, lowest first: for each bit, the handshake ($784C), wait until data-in reads 1, then set clock-out with data-out set for a 1 bit, wait 7 loops and clear both","t":"code","b":[162,8],"m":"ldx","x":[30043,30711],"o":"#$08"},{"a":30885,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":30887,"l":"b_78A7","t":"code","b":[32,76,120],"m":"jsr","oa":30796,"x":[30919],"o":"handshake"},{"a":30890,"l":"b_78AA","t":"code","b":[32,47,120],"m":"jsr","oa":30767,"x":[30896],"o":"read_port"},{"a":30893,"t":"code","b":[168],"m":"tay"},{"a":30894,"t":"code","b":[41,128],"m":"and","o":"#$80"},{"a":30896,"t":"code","b":[240,248],"m":"beq","oa":30890,"o":"b_78AA"},{"a":30898,"t":"code","b":[152],"m":"tya"},{"a":30899,"t":"code","b":[9,16],"m":"ora","o":"#$10"},{"a":30901,"t":"code","b":[70,86],"m":"lsr","oa":86,"o":"reg_iy"},{"a":30903,"t":"code","b":[144,2],"m":"bcc","oa":30907,"o":"b_78BB"},{"a":30905,"t":"code","b":[9,32],"m":"ora","o":"#$20"},{"a":30907,"l":"b_78BB","t":"code","b":[141,0,221],"m":"sta","x":[30903],"o":"cia2_port_a"},{"a":30910,"t":"code","b":[160,7],"m":"ldy","o":"#$07"},{"a":30912,"l":"b_78C0","t":"code","b":[136],"m":"dey","x":[30913]},{"a":30913,"t":"code","b":[208,253],"m":"bne","oa":30912,"o":"b_78C0"},{"a":30915,"t":"code","b":[32,65,120],"m":"jsr","oa":30785,"o":"release_lines"},{"a":30918,"t":"code","b":[202],"m":"dex"},{"a":30919,"t":"code","b":[208,222],"m":"bne","oa":30887,"o":"b_78A7"},{"a":30921,"t":"code","b":[96],"m":"rts"},{"a":30922,"l":"name_index","c":"The count of the file name's characters sent so far","t":"byte","b":[7],"x":[30702,30705,30714,30717]},{"a":30923,"l":"load_failed","c":"The drive reported a failure: a piece is marked missing ($7675), anything else prints \"DISK ERROR!\". The buffer at $0800 is left empty","t":"code","b":[173,108,118],"m":"lda","oa":30316,"x":[30729],"o":"picture_name"},{"a":30926,"t":"code","b":[201,66],"m":"cmp","o":"#$42"},{"a":30928,"t":"code","b":[208,9],"m":"bne","oa":30939,"o":"b_78DB"},{"a":30930,"t":"code","b":[174,116,118],"m":"ldx","oa":30324,"o":"picture_num_kept"},{"a":30933,"t":"code","b":[157,117,118],"m":"sta","oa":30325,"o":"missing_pieces,x"},{"a":30936,"t":"code","b":[76,227,120],"m":"jmp","oa":30947,"o":"j_78E3"},{"a":30939,"l":"b_78DB","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[30928],"o":"SETHLI"},{"a":30942,"c":"The text \"DISK ERROR!\" ($78EC)","t":"addr","b":[236,120],"oa":30956,"o":"txt_disk_error"},{"a":30944,"c":"Print it; empty the buffer","t":"code","b":[32,54,84],"m":"jsr","oa":21558,"o":"PUTZ"},{"a":30947,"l":"j_78E3","t":"code","b":[169,0],"m":"lda","x":[30936],"o":"#$00"},{"a":30949,"t":"code","b":[141,0,8],"m":"sta","oa":2048,"o":"picture_buffer"},{"a":30952,"t":"code","b":[141,1,8],"m":"sta","oa":2049,"o":"picture_buffer_1"},{"a":30955,"t":"code","b":[96],"m":"rts"},{"a":30956,"l":"txt_disk_error","c":"Text \"DISK ERROR!\" between newlines, zero-terminated: a picture that would not load","t":"byte","b":[13,68,73,83,75,32,69,82],"x":[30942]},{"a":30964,"t":"byte","b":[82,79,82,33,13,0]},{"a":30970,"l":"digits","c":"\"0123456789\", the digits put into the picture's file name","t":"byte","b":[48,49,50,51,52,53,54,55],"x":[30667,30688,30694]},{"a":30978,"t":"byte","b":[56,57]},{"a":30980,"l":"send_drive_code","c":"Put the fast loader into the disk drive: open channel 15 with \"I0\", send \"M-W\" and 29 bytes for the drive's memory at $0300 (26 bytes of code and the three after it), then \"M-E\" $0300 to run them (they read track 35, sectors 0 and 1, into the drive's buffers at $0500 and $0600), then \"M-E\" $0500 to start the code just read. Those two sectors are in no file; the disk's map of used blocks marks them used, so no save can take them","t":"code","b":[169,15],"m":"lda","x":[30040],"o":"#$0F"},{"a":30982,"t":"code","b":[168],"m":"tay"},{"a":30983,"t":"code","b":[162,8],"m":"ldx","o":"#$08"},{"a":30985,"t":"code","b":[32,186,255],"m":"jsr","oa":65466,"o":"KERNAL_SETLFS"},{"a":30988,"t":"code","b":[162,129],"m":"ldx","o":"#$81"},{"a":30990,"t":"code","b":[160,121],"m":"ldy","o":"#$79"},{"a":30992,"t":"code","b":[169,2],"m":"lda","o":"#$02"},{"a":30994,"t":"code","b":[32,189,255],"m":"jsr","oa":65469,"o":"KERNAL_SETNAM"},{"a":30997,"t":"code","b":[32,192,255],"m":"jsr","oa":65472,"o":"KERNAL_OPEN"},{"a":31000,"t":"code","b":[162,15],"m":"ldx","o":"#$0F"},{"a":31002,"t":"code","b":[32,201,255],"m":"jsr","oa":65481,"o":"KERNAL_CHKOUT"},{"a":31005,"t":"code","b":[162,5],"m":"ldx","o":"#$05"},{"a":31007,"l":"b_791F","t":"code","b":[189,97,121],"m":"lda","oa":31073,"x":[31014],"o":"mw_count,x"},{"a":31010,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":31013,"t":"code","b":[202],"m":"dex"},{"a":31014,"t":"code","b":[16,247],"m":"bpl","oa":31007,"o":"b_791F"},{"a":31016,"t":"code","b":[232],"m":"inx"},{"a":31017,"l":"b_7929","t":"code","b":[189,103,121],"m":"lda","oa":31079,"x":[31026],"o":"drive_boot,x"},{"a":31020,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":31023,"t":"code","b":[232],"m":"inx"},{"a":31024,"t":"code","b":[224,29],"m":"cpx","o":"#$1D"},{"a":31026,"t":"code","b":[208,245],"m":"bne","oa":31017,"o":"b_7929"},{"a":31028,"t":"code","b":[32,204,255],"m":"jsr","oa":65484,"o":"KERNAL_CLRCHN"},{"a":31031,"t":"code","b":[162,15],"m":"ldx","o":"#$0F"},{"a":31033,"t":"code","b":[32,201,255],"m":"jsr","oa":65481,"o":"KERNAL_CHKOUT"},{"a":31036,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":31038,"t":"code","b":[141,92,121],"m":"sta","oa":31068,"o":"drive_commands"},{"a":31041,"t":"code","b":[32,78,121],"m":"jsr","oa":31054,"o":"send_command"},{"a":31044,"t":"code","b":[162,15],"m":"ldx","o":"#$0F"},{"a":31046,"t":"code","b":[32,201,255],"m":"jsr","oa":65481,"o":"KERNAL_CHKOUT"},{"a":31049,"t":"code","b":[169,5],"m":"lda","o":"#$05"},{"a":31051,"t":"code","b":[141,92,121],"m":"sta","oa":31068,"o":"drive_commands"},{"a":31054,"l":"send_command","c":"Send the five bytes $795C-$7960 backwards to channel 15 (\"M-E\" and an address) and end the command","t":"code","b":[162,4],"m":"ldx","x":[31041],"o":"#$04"},{"a":31056,"l":"b_7950","t":"code","b":[189,92,121],"m":"lda","oa":31068,"x":[31063],"o":"drive_commands,x"},{"a":31059,"t":"code","b":[32,210,255],"m":"jsr","oa":65490,"o":"KERNAL_CHROUT"},{"a":31062,"t":"code","b":[202],"m":"dex"},{"a":31063,"t":"code","b":[16,247],"m":"bpl","oa":31056,"o":"b_7950"},{"a":31065,"t":"code","b":[76,204,255],"m":"jmp","oa":65484,"o":"KERNAL_CLRCHN"},{"a":31068,"l":"drive_commands","c":"The drive commands, kept backwards: $795C-$7960 is \"M-E\" and an address ($0300, then $0500); $7961-$7966 is \"M-W\" $0300 and a count of 30","t":"byte","b":[5,0,69,45,77],"x":[31038,31051,31056]},{"a":31073,"l":"mw_count","c":"The M-W command's count, $1E (30), the last of its six bytes: the loop at $791F sends $7966 down to here, and then 29 bytes of drive code follow from $7967","t":"byte","b":[30,3,0,87,45,77],"x":[31007]},{"a":31079,"l":"drive_boot","c":"The 26 bytes of drive code sent to $0300 (the M-W sends 29, running on into \"I0\" and $7983): they set track 35 sectors 0 and 1 in the job queue for the buffers at $0500 and $0600, give both the read job ($80), wait until both are done, and return","t":"byte","b":[169,35,133,10,133,12,162,0],"x":[31017]},{"a":31087,"t":"byte","b":[134,11,232,134,13,169,128,133]},{"a":31095,"t":"byte","b":[2,133,3,165,2,5,3,48]},{"a":31103,"t":"byte","b":[250,96]},{"a":31105,"l":"init_command","c":"\"I0\", the name opened on channel 15: initialise the disk","t":"byte","b":[73,48]},{"a":31107,"l":"picture_bottom","c":"The picture's bottom row ($1F26) for the picture in the cache, saved with it","t":"byte","b":[158],"x":[31134,31153]},{"a":31108,"l":"cache_picture","c":"Keep the loaded room picture: if its number is under 80, copy $0800-$1B0C to $4000 and note its number ($755E) and bottom row","t":"code","b":[173,240,117],"m":"lda","oa":30192,"x":[30177],"o":"picture_number"},{"a":31111,"t":"code","b":[201,80],"m":"cmp","o":"#$50"},{"a":31113,"t":"code","b":[176,93],"m":"bcs","oa":31208,"o":"r_79E8"},{"a":31115,"t":"code","b":[141,94,117],"m":"sta","oa":30046,"o":"cached_picture"},{"a":31118,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":31121,"c":"$4000, the cache, where the copy goes","t":"addr","b":[0,64],"oa":16384,"o":"picture_cache"},{"a":31123,"c":"DE = the cache","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":31126,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":31129,"c":"$0800, the picture as loaded","t":"addr","b":[0,8],"oa":2048,"o":"picture_buffer"},{"a":31131,"c":"Keep its bottom row and copy","t":"code","b":[173,38,31],"m":"lda","oa":7974,"o":"picture_height"},{"a":31134,"t":"code","b":[141,131,121],"m":"sta","oa":31107,"o":"picture_bottom"},{"a":31137,"t":"code","b":[76,183,121],"m":"jmp","oa":31159,"o":"copy_picture"},{"a":31140,"l":"restore_picture","c":"Copy the cached picture back from $4000 to $0800, with its bottom row","t":"code","b":[32,81,84],"m":"jsr","oa":21585,"x":[30157],"o":"SETHLI"},{"a":31143,"c":"$0800, where the cached picture goes back","t":"addr","b":[0,8],"oa":2048,"o":"picture_buffer"},{"a":31145,"c":"DE = $0800","t":"code","b":[32,126,84],"m":"jsr","oa":21630,"o":"de_from_hl_slot"},{"a":31148,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":31151,"c":"$4000, the cache","t":"addr","b":[0,64],"oa":16384,"o":"picture_cache"},{"a":31153,"c":"Put the bottom row back, then copy","t":"code","b":[173,131,121],"m":"lda","oa":31107,"o":"picture_bottom"},{"a":31156,"t":"code","b":[141,38,31],"m":"sta","oa":7974,"o":"picture_height"},{"a":31159,"l":"copy_picture","c":"Copy 4,877 bytes ($130D) from HL to DE","t":"code","b":[32,90,84],"m":"jsr","oa":21594,"x":[31137],"o":"PUSHL"},{"a":31162,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":31165,"c":"4,877, the bytes a picture may take","t":"word","b":[13,19],"d":[4877]},{"a":31167,"c":"Copy a byte at a time until the count runs out","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":31170,"t":"code","b":[32,93,84],"m":"jsr","oa":21597,"o":"PULLHL"},{"a":31173,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":31175,"l":"b_79C7","t":"code","b":[177,78],"m":"lda","oa":78,"x":[31206],"o":"(reg_hl),y"},{"a":31177,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":31179,"t":"code","b":[230,78],"m":"inc","oa":78,"o":"reg_hl"},{"a":31181,"t":"code","b":[208,2],"m":"bne","oa":31185,"o":"b_79D1"},{"a":31183,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"reg_hl_hi"},{"a":31185,"l":"b_79D1","t":"code","b":[230,80],"m":"inc","oa":80,"x":[31181],"o":"reg_de"},{"a":31187,"t":"code","b":[208,2],"m":"bne","oa":31191,"o":"b_79D7"},{"a":31189,"t":"code","b":[230,81],"m":"inc","oa":81,"o":"reg_de_hi"},{"a":31191,"l":"b_79D7","t":"code","b":[165,82],"m":"lda","oa":82,"x":[31187],"o":"reg_bc"},{"a":31193,"t":"code","b":[56],"m":"sec"},{"a":31194,"t":"code","b":[233,1],"m":"sbc","o":"#$01"},{"a":31196,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":31198,"t":"code","b":[165,83],"m":"lda","oa":83,"o":"reg_bc_hi"},{"a":31200,"t":"code","b":[233,0],"m":"sbc","o":"#$00"},{"a":31202,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":31204,"t":"code","b":[5,82],"m":"ora","oa":82,"o":"reg_bc"},{"a":31206,"t":"code","b":[208,223],"m":"bne","oa":31175,"o":"b_79C7"},{"a":31208,"l":"r_79E8","t":"code","b":[96],"m":"rts","x":[31113]},{"a":31209,"l":"lookup_value","c":"The value being looked up, and the answer, for the two room tables","t":"byte","b":[1],"x":[31210,31231,31239,31242,31319,31331,31339,31342]},{"a":31210,"l":"piece_for_room","c":"Change an item's piece for this room: search the table at $7A0E for this room and piece; found, return the piece it names instead, otherwise the same piece","t":"code","b":[141,233,121],"m":"sta","oa":31209,"x":[30276],"o":"lookup_value"},{"a":31213,"t":"code","b":[160,253],"m":"ldy","o":"#$FD"},{"a":31215,"l":"b_79EF","t":"code","b":[200],"m":"iny","x":[31226,31234]},{"a":31216,"t":"code","b":[200],"m":"iny"},{"a":31217,"t":"code","b":[200],"m":"iny"},{"a":31218,"t":"code","b":[185,14,122],"m":"lda","oa":31246,"o":"piece_swaps,y"},{"a":31221,"t":"code","b":[240,19],"m":"beq","oa":31242,"o":"b_7A0A"},{"a":31223,"t":"code","b":[205,34,28],"m":"cmp","oa":7202,"o":"room"},{"a":31226,"t":"code","b":[208,243],"m":"bne","oa":31215,"o":"b_79EF"},{"a":31228,"t":"code","b":[185,15,122],"m":"lda","oa":31247,"o":"piece_swap_piece,y"},{"a":31231,"t":"code","b":[205,233,121],"m":"cmp","oa":31209,"o":"lookup_value"},{"a":31234,"t":"code","b":[208,235],"m":"bne","oa":31215,"o":"b_79EF"},{"a":31236,"t":"code","b":[185,16,122],"m":"lda","oa":31248,"o":"piece_swap_new,y"},{"a":31239,"t":"code","b":[141,233,121],"m":"sta","oa":31209,"o":"lookup_value"},{"a":31242,"l":"b_7A0A","t":"code","b":[173,233,121],"m":"lda","oa":31209,"x":[31221],"o":"lookup_value"},{"a":31245,"t":"code","b":[96],"m":"rts"},{"a":31246,"l":"piece_swaps","c":"Room, piece, replacement triples, ending with 0: in room 15 piece 18 is drawn as 70, in room 13 piece 21 as 72, in room 7 piece 14 as 13 and in room 8 piece 15 as 13","t":"byte","b":[15],"x":[31218]},{"a":31247,"l":"piece_swap_piece","c":"The piece column of each triple","t":"byte","b":[18],"x":[31228]},{"a":31248,"l":"piece_swap_new","c":"The replacement column of each triple","t":"byte","b":[70,13,21,72,7,14,13,8],"x":[31236]},{"a":31256,"t":"byte","b":[15,13,0]},{"a":31259,"l":"source_symbols_3","c":"A piece of the original assembler's symbol table: GREADK0, SCRN ($657A, the line width), VICINIT ($6617) and SETIRQ ($6B1E), then 18 bytes of an earlier version of the lookup at $7A57, its addresses 18 bytes lower. VICINIT and SETIRQ are five bytes before the routines that do that now ($661C and $6B23): the table is from an earlier assembly","t":"byte","b":[71,82,69,65,68,75,48,10]},{"a":31267,"t":"byte","b":[122,101,192,29,8,83,67,82]},{"a":31275,"t":"byte","b":[78,13,23,102,192,0,255,86]},{"a":31283,"t":"byte","b":[73,67,73,78,73,84,12,30]},{"a":31291,"t":"byte","b":[107,192,159,8,83,69,84,73]},{"a":31299,"t":"byte","b":[82,81,141,215,121,160,254,200]},{"a":31307,"t":"byte","b":[200,185,96,122,141,225,121,160]},{"a":31315,"t":"byte","b":[254,200,200,185]},{"a":31319,"l":"room_picture","c":"The picture number for room A: the table at $7A72 sends some rooms to another room's picture; any other room's picture has its own number","t":"code","b":[141,233,121],"m":"sta","oa":31209,"x":[30124],"o":"lookup_value"},{"a":31322,"t":"code","b":[160,254],"m":"ldy","o":"#$FE"},{"a":31324,"l":"b_7A5C","t":"code","b":[200],"m":"iny","x":[31334]},{"a":31325,"t":"code","b":[200],"m":"iny"},{"a":31326,"t":"code","b":[185,114,122],"m":"lda","oa":31346,"o":"room_pictures,y"},{"a":31329,"t":"code","b":[240,11],"m":"beq","oa":31342,"o":"b_7A6E"},{"a":31331,"t":"code","b":[205,233,121],"m":"cmp","oa":31209,"o":"lookup_value"},{"a":31334,"t":"code","b":[208,244],"m":"bne","oa":31324,"o":"b_7A5C"},{"a":31336,"t":"code","b":[185,115,122],"m":"lda","oa":31347,"o":"room_picture_for,y"},{"a":31339,"t":"code","b":[141,233,121],"m":"sta","oa":31209,"o":"lookup_value"},{"a":31342,"l":"b_7A6E","t":"code","b":[173,233,121],"m":"lda","oa":31209,"x":[31329],"o":"lookup_value"},{"a":31345,"t":"code","b":[96],"m":"rts"},{"a":31346,"l":"room_pictures","c":"Room and picture pairs, ending with 0: rooms 13 and 14 show picture 2, 5 and 6 picture 3, 10 and 11 picture 9, 7 and 8 picture 4, 17 and 18 picture 16","t":"byte","b":[13],"x":[31326]},{"a":31347,"l":"room_picture_for","c":"The second byte of each pair, the picture the room before it is drawn with, read at $7A68","t":"byte","b":[2,14,2,5,3,6,3,10],"x":[31336]},{"a":31355,"t":"byte","b":[9,11,9,7,4,8,4,17]},{"a":31363,"t":"byte","b":[16,18,16,0]},{"a":31367,"l":"decoder_vars","c":"The picture decoder's variables: $7A87 a run's count, $7A88 and $7A8B the first and the current column, $7A89 and $7A8C the first and the current pixel row, $7A8A the last column, $7A8D-$7A8F the picture's three colours","t":"byte","b":[0],"x":[31484,31493,31502,31511]},{"a":31368,"l":"decode_first_column","c":"The picture's first column, from its header; kept and never read","t":"byte","b":[3],"x":[31406]},{"a":31369,"l":"decode_first_row","c":"The picture's first row: each new column starts here","t":"byte","b":[0],"x":[31415,31586]},{"a":31370,"l":"decode_last_column","c":"The picture's last column: the decoder stops after it","t":"byte","b":[38],"x":[31424,31580]},{"a":31371,"l":"decode_column","c":"The column being drawn","t":"byte","b":[38],"x":[31409,31577,31589,31762]},{"a":31372,"l":"decode_row","c":"The row being drawn, two pixel rows a step","t":"byte","b":[160],"x":[31418,31563,31566,31569,31592,31789,31822]},{"a":31373,"l":"decode_colour_1","c":"The picture's first colour, the high nibble of every screen byte","t":"byte","b":[8],"x":[31439,31717]},{"a":31374,"l":"decode_colour_2","c":"The second colour, the low nibble","t":"byte","b":[4],"x":[31448,31726]},{"a":31375,"l":"decode_colour_3","c":"The third colour, for colour RAM","t":"byte","b":[1],"x":[31457,31688]},{"a":31376,"l":"draw_picture","c":"Draw the picture or piece loaded at $0800 into the bitmap, keeping every register","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[30160,30174,30305],"o":"save_all_slot"},{"a":31379,"t":"code","b":[32,154,122],"m":"jsr","oa":31386,"o":"decode_picture"},{"a":31382,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":31385,"t":"code","b":[96],"m":"rts"},{"a":31386,"l":"decode_picture","c":"Decode the picture at $0800 (nothing if its address bytes are 0, an empty buffer). After the two address bytes: the first column, the first pixel row, the last column, the bottom pixel row ($1F26), then four colour bytes, each a hue in its high four bits and a brightness in its low four (the layout the Atari 400 and 800 use for their colours), turned into C64 colours by $7B71: the colours of pixel values 01 and 10, the colour of 11 (colour RAM), and the background ($1F27). The rest is the bitmap, two bytes at a time down each column from the first row to the bottom, then the next column: a byte under $80 is followed by that many plus one pairs written as they are; a byte of $80 or more by one pair written ($80 less) plus one times","t":"code","b":[173,0,8],"m":"lda","oa":2048,"x":[31379],"o":"picture_buffer"},{"a":31389,"t":"code","b":[13,1,8],"m":"ora","oa":2049,"o":"picture_buffer_1"},{"a":31392,"t":"code","b":[208,1],"m":"bne","oa":31395,"o":"b_7AA3"},{"a":31394,"t":"code","b":[96],"m":"rts"},{"a":31395,"l":"b_7AA3","t":"code","b":[169,2],"m":"lda","x":[31392],"o":"#$02"},{"a":31397,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":31399,"t":"code","b":[169,8],"m":"lda","o":"#$08"},{"a":31401,"t":"code","b":[133,79],"m":"sta","oa":79,"o":"reg_hl_hi"},{"a":31403,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31406,"t":"code","b":[141,136,122],"m":"sta","oa":31368,"o":"decode_first_column"},{"a":31409,"t":"code","b":[141,139,122],"m":"sta","oa":31371,"o":"decode_column"},{"a":31412,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31415,"t":"code","b":[141,137,122],"m":"sta","oa":31369,"o":"decode_first_row"},{"a":31418,"t":"code","b":[141,140,122],"m":"sta","oa":31372,"o":"decode_row"},{"a":31421,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31424,"t":"code","b":[141,138,122],"m":"sta","oa":31370,"o":"decode_last_column"},{"a":31427,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31430,"t":"code","b":[141,38,31],"m":"sta","oa":7974,"o":"picture_height"},{"a":31433,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31436,"t":"code","b":[32,113,123],"m":"jsr","oa":31601,"o":"colour_from_byte"},{"a":31439,"t":"code","b":[141,141,122],"m":"sta","oa":31373,"o":"decode_colour_1"},{"a":31442,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31445,"t":"code","b":[32,113,123],"m":"jsr","oa":31601,"o":"colour_from_byte"},{"a":31448,"t":"code","b":[141,142,122],"m":"sta","oa":31374,"o":"decode_colour_2"},{"a":31451,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31454,"t":"code","b":[32,113,123],"m":"jsr","oa":31601,"o":"colour_from_byte"},{"a":31457,"t":"code","b":[141,143,122],"m":"sta","oa":31375,"o":"decode_colour_3"},{"a":31460,"t":"code","b":[32,30,123],"m":"jsr","oa":31518,"o":"next_byte"},{"a":31463,"t":"code","b":[32,113,123],"m":"jsr","oa":31601,"o":"colour_from_byte"},{"a":31466,"t":"code","b":[141,39,31],"m":"sta","oa":7975,"o":"picture_background"},{"a":31469,"t":"code","b":[32,178,123],"m":"jsr","oa":31666,"o":"fill_colour_ram"},{"a":31472,"t":"code","b":[32,229,123],"m":"jsr","oa":31717,"o":"fill_screen"},{"a":31475,"t":"code","b":[32,9,124],"m":"jsr","oa":31753,"o":"bitmap_address"},{"a":31478,"l":"next_run","c":"The next run: a count byte","t":"code","b":[32,30,123],"m":"jsr","oa":31518,"x":[31498,31516],"o":"next_byte"},{"a":31481,"t":"code","b":[168],"m":"tay"},{"a":31482,"t":"code","b":[48,16],"m":"bmi","oa":31500,"o":"repeated_pair"},{"a":31484,"t":"code","b":[141,135,122],"m":"sta","oa":31367,"o":"decoder_vars"},{"a":31487,"l":"b_7AFF","t":"code","b":[32,41,123],"m":"jsr","oa":31529,"x":[31496],"o":"next_pair"},{"a":31490,"t":"code","b":[32,64,123],"m":"jsr","oa":31552,"o":"write_pair"},{"a":31493,"t":"code","b":[206,135,122],"m":"dec","oa":31367,"o":"decoder_vars"},{"a":31496,"t":"code","b":[16,245],"m":"bpl","oa":31487,"o":"b_7AFF"},{"a":31498,"t":"code","b":[48,234],"m":"bmi","oa":31478,"o":"next_run"},{"a":31500,"l":"repeated_pair","c":"A repeated pair: written the count plus one times","t":"code","b":[41,127],"m":"and","x":[31482],"o":"#$7F"},{"a":31502,"t":"code","b":[141,135,122],"m":"sta","oa":31367,"o":"decoder_vars"},{"a":31505,"t":"code","b":[32,41,123],"m":"jsr","oa":31529,"o":"next_pair"},{"a":31508,"l":"b_7B14","t":"code","b":[32,64,123],"m":"jsr","oa":31552,"x":[31514],"o":"write_pair"},{"a":31511,"t":"code","b":[206,135,122],"m":"dec","oa":31367,"o":"decoder_vars"},{"a":31514,"t":"code","b":[16,248],"m":"bpl","oa":31508,"o":"b_7B14"},{"a":31516,"t":"code","b":[48,216],"m":"bmi","oa":31478,"o":"next_run"},{"a":31518,"l":"next_byte","c":"The next byte of the picture, from HL ($4E), stepping HL on","t":"code","b":[160,0],"m":"ldy","x":[31403,31412,31421,31427,31433,31442,31451,31460,31478],"o":"#$00"},{"a":31520,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":31522,"t":"code","b":[230,78],"m":"inc","oa":78,"o":"reg_hl"},{"a":31524,"t":"code","b":[208,2],"m":"bne","oa":31528,"o":"r_7B28"},{"a":31526,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"reg_hl_hi"},{"a":31528,"l":"r_7B28","t":"code","b":[96],"m":"rts","x":[31524]},{"a":31529,"l":"next_pair","c":"The next two bytes of the picture into BC ($52-$53), stepping HL on by two","t":"code","b":[160,0],"m":"ldy","x":[31487,31505],"o":"#$00"},{"a":31531,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":31533,"t":"code","b":[133,82],"m":"sta","oa":82,"o":"reg_bc"},{"a":31535,"t":"code","b":[200],"m":"iny"},{"a":31536,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":31538,"t":"code","b":[133,83],"m":"sta","oa":83,"o":"reg_bc_hi"},{"a":31540,"t":"code","b":[24],"m":"clc"},{"a":31541,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":31543,"t":"code","b":[105,2],"m":"adc","o":"#$02"},{"a":31545,"t":"code","b":[133,78],"m":"sta","oa":78,"o":"reg_hl"},{"a":31547,"t":"code","b":[144,2],"m":"bcc","oa":31551,"o":"r_7B3F"},{"a":31549,"t":"code","b":[230,79],"m":"inc","oa":79,"o":"reg_hl_hi"},{"a":31551,"l":"r_7B3F","t":"code","b":[96],"m":"rts","x":[31547]},{"a":31552,"l":"write_pair","c":"Write BC's two bytes to the bitmap at DE and the byte below, and move down two pixel rows. Past the bottom row ($1F26), go to the top of the next column; past the last column, the picture is done and both returns are dropped, ending the decoding","t":"code","b":[160,0],"m":"ldy","x":[31490,31508],"o":"#$00"},{"a":31554,"t":"code","b":[165,82],"m":"lda","oa":82,"o":"reg_bc"},{"a":31556,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":31558,"t":"code","b":[200],"m":"iny"},{"a":31559,"t":"code","b":[165,83],"m":"lda","oa":83,"o":"reg_bc_hi"},{"a":31561,"t":"code","b":[145,80],"m":"sta","oa":80,"o":"(reg_de),y"},{"a":31563,"t":"code","b":[172,140,122],"m":"ldy","oa":31372,"o":"decode_row"},{"a":31566,"t":"code","b":[238,140,122],"m":"inc","oa":31372,"o":"decode_row"},{"a":31569,"t":"code","b":[238,140,122],"m":"inc","oa":31372,"o":"decode_row"},{"a":31572,"t":"code","b":[204,38,31],"m":"cpy","oa":7974,"o":"picture_height"},{"a":31575,"t":"code","b":[144,18],"m":"bcc","oa":31595,"o":"b_7B6B"},{"a":31577,"t":"code","b":[174,139,122],"m":"ldx","oa":31371,"o":"decode_column"},{"a":31580,"t":"code","b":[236,138,122],"m":"cpx","oa":31370,"o":"decode_last_column"},{"a":31583,"t":"code","b":[240,13],"m":"beq","oa":31598,"o":"b_7B6E"},{"a":31585,"t":"code","b":[232],"m":"inx"},{"a":31586,"t":"code","b":[172,137,122],"m":"ldy","oa":31369,"o":"decode_first_row"},{"a":31589,"t":"code","b":[142,139,122],"m":"stx","oa":31371,"o":"decode_column"},{"a":31592,"t":"code","b":[140,140,122],"m":"sty","oa":31372,"o":"decode_row"},{"a":31595,"l":"b_7B6B","t":"code","b":[76,9,124],"m":"jmp","oa":31753,"x":[31575],"o":"bitmap_address"},{"a":31598,"l":"b_7B6E","t":"code","b":[104],"m":"pla","x":[31583]},{"a":31599,"t":"code","b":[104],"m":"pla"},{"a":31600,"t":"code","b":[96],"m":"rts"},{"a":31601,"l":"colour_from_byte","c":"Turn a picture colour byte into a C64 colour: brightness (low four bits) 0 gives black; a brightness of 9 or more takes the hue (high four bits) from the bright table at $7B92, otherwise from the dark one at $7BA2","t":"code","b":[168],"m":"tay","x":[31436,31445,31454,31463]},{"a":31602,"t":"code","b":[41,15],"m":"and","o":"#$0F"},{"a":31604,"t":"code","b":[208,3],"m":"bne","oa":31609,"o":"b_7B79"},{"a":31606,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31608,"t":"code","b":[96],"m":"rts"},{"a":31609,"l":"b_7B79","t":"code","b":[201,9],"m":"cmp","x":[31604],"o":"#$09"},{"a":31611,"t":"code","b":[48,7],"m":"bmi","oa":31620,"o":"b_7B84"},{"a":31613,"t":"code","b":[32,139,123],"m":"jsr","oa":31627,"o":"high_nibble"},{"a":31616,"t":"code","b":[185,146,123],"m":"lda","oa":31634,"o":"bright_colours,y"},{"a":31619,"t":"code","b":[96],"m":"rts"},{"a":31620,"l":"b_7B84","t":"code","b":[32,139,123],"m":"jsr","oa":31627,"x":[31611],"o":"high_nibble"},{"a":31623,"t":"code","b":[185,162,123],"m":"lda","oa":31650,"o":"dark_colours,y"},{"a":31626,"t":"code","b":[96],"m":"rts"},{"a":31627,"l":"high_nibble","c":"Y = the byte's high four bits","t":"code","b":[152],"m":"tya","x":[31613,31620]},{"a":31628,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31629,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31630,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31631,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31632,"t":"code","b":[168],"m":"tay"},{"a":31633,"t":"code","b":[96],"m":"rts"},{"a":31634,"l":"bright_colours","c":"The C64 colour for each of the 16 hues when bright (brightness 9 or more)","t":"byte","b":[1,13,7,8,10,10,4,14],"x":[31616]},{"a":31642,"t":"byte","b":[1,14,3,13,13,13,7,7]},{"a":31650,"l":"dark_colours","c":"The C64 colour for each of the 16 hues when dark (brightness 1 to 8)","t":"byte","b":[0,5,9,8,2,4,4,6],"x":[31623]},{"a":31658,"t":"byte","b":[6,6,12,5,5,5,7,9]},{"a":31666,"l":"fill_colour_ram","c":"Set the picture's background ($D021 from $1F27) and fill 800 bytes of colour RAM from $D800 (rows 0 to 19) with the colour of pixel value 11","t":"code","b":[173,39,31],"m":"lda","oa":7975,"x":[31469],"o":"picture_background"},{"a":31669,"t":"code","b":[141,33,208],"m":"sta","o":"vic_background0"},{"a":31672,"t":"code","b":[169,216],"m":"lda","o":"#$D8"},{"a":31674,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":31676,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31678,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":31680,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":31682,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":31684,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":31686,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"reg_iy_hi"},{"a":31688,"t":"code","b":[173,143,122],"m":"lda","oa":31375,"o":"decode_colour_3"},{"a":31691,"t":"code","b":[32,207,123],"m":"jsr","oa":31695,"o":"fill_bytes"},{"a":31694,"t":"code","b":[96],"m":"rts"},{"a":31695,"l":"fill_bytes","c":"Fill memory from $54-$55 with A, for the count in $56-$57 (one more than the high byte in pages)","t":"code","b":[160,0],"m":"ldy","x":[31691,31707,31713,31749,31980,32000,32013],"o":"#$00"},{"a":31697,"t":"code","b":[145,84],"m":"sta","oa":84,"o":"(reg_ix),y"},{"a":31699,"t":"code","b":[230,84],"m":"inc","oa":84,"o":"reg_ix"},{"a":31701,"t":"code","b":[208,2],"m":"bne","oa":31705,"o":"b_7BD9"},{"a":31703,"t":"code","b":[230,85],"m":"inc","oa":85,"o":"reg_ix_hi"},{"a":31705,"l":"b_7BD9","t":"code","b":[198,86],"m":"dec","oa":86,"x":[31701],"o":"reg_iy"},{"a":31707,"t":"code","b":[208,242],"m":"bne","oa":31695,"o":"fill_bytes"},{"a":31709,"t":"code","b":[198,87],"m":"dec","oa":87,"o":"reg_iy_hi"},{"a":31711,"t":"code","b":[48,3],"m":"bmi","oa":31716,"o":"r_7BE4"},{"a":31713,"t":"code","b":[76,207,123],"m":"jmp","oa":31695,"o":"fill_bytes"},{"a":31716,"l":"r_7BE4","t":"code","b":[96],"m":"rts","x":[31711]},{"a":31717,"l":"fill_screen","c":"Fill 800 bytes of the screen from $0400 (rows 0 to 19) with the picture's colours for pixel values 01 (high four bits) and 10 (low four): one colour pair for the whole picture","t":"code","b":[173,141,122],"m":"lda","oa":31373,"x":[31472],"o":"decode_colour_1"},{"a":31720,"t":"code","b":[10],"m":"asl","o":"a"},{"a":31721,"t":"code","b":[10],"m":"asl","o":"a"},{"a":31722,"t":"code","b":[10],"m":"asl","o":"a"},{"a":31723,"t":"code","b":[10],"m":"asl","o":"a"},{"a":31724,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":31726,"t":"code","b":[173,142,122],"m":"lda","oa":31374,"o":"decode_colour_2"},{"a":31729,"t":"code","b":[5,84],"m":"ora","oa":84,"o":"reg_ix"},{"a":31731,"t":"code","b":[72],"m":"pha"},{"a":31732,"t":"code","b":[169,4],"m":"lda","o":"#$04"},{"a":31734,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":31736,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31738,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":31740,"t":"code","b":[169,3],"m":"lda","o":"#$03"},{"a":31742,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"reg_iy_hi"},{"a":31744,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":31746,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":31748,"t":"code","b":[104],"m":"pla"},{"a":31749,"t":"code","b":[32,207,123],"m":"jsr","oa":31695,"o":"fill_bytes"},{"a":31752,"t":"code","b":[96],"m":"rts"},{"a":31753,"l":"bitmap_address","c":"DE = the bitmap address of the current column ($7A8B) and pixel row ($7A8C): $2000 + column x 8 + (row / 8) x 320 + row's low three bits","t":"code","b":[169,32],"m":"lda","x":[31475,31595],"o":"#$20"},{"a":31755,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":31757,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31759,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":31761,"t":"code","b":[24],"m":"clc"},{"a":31762,"t":"code","b":[174,139,122],"m":"ldx","oa":31371,"o":"decode_column"},{"a":31765,"t":"code","b":[240,22],"m":"beq","oa":31789,"o":"b_7C2D"},{"a":31767,"t":"code","b":[24],"m":"clc"},{"a":31768,"t":"code","b":[189,93,124],"m":"lda","oa":31837,"o":"column_lo,x"},{"a":31771,"t":"code","b":[101,80],"m":"adc","oa":80,"o":"reg_de"},{"a":31773,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":31775,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31777,"t":"code","b":[101,81],"m":"adc","oa":81,"o":"reg_de_hi"},{"a":31779,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":31781,"t":"code","b":[189,133,124],"m":"lda","oa":31877,"o":"column_hi,x"},{"a":31784,"t":"code","b":[24],"m":"clc"},{"a":31785,"t":"code","b":[101,81],"m":"adc","oa":81,"o":"reg_de_hi"},{"a":31787,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":31789,"l":"b_7C2D","t":"code","b":[173,140,122],"m":"lda","oa":31372,"x":[31765],"o":"decode_row"},{"a":31792,"t":"code","b":[41,248],"m":"and","o":"#$F8"},{"a":31794,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31795,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31796,"t":"code","b":[74],"m":"lsr","o":"a"},{"a":31797,"t":"code","b":[240,23],"m":"beq","oa":31822,"o":"b_7C4E"},{"a":31799,"t":"code","b":[170],"m":"tax"},{"a":31800,"t":"code","b":[24],"m":"clc"},{"a":31801,"t":"code","b":[189,173,124],"m":"lda","oa":31917,"o":"row_lo,x"},{"a":31804,"t":"code","b":[101,80],"m":"adc","oa":80,"o":"reg_de"},{"a":31806,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":31808,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31810,"t":"code","b":[101,81],"m":"adc","oa":81,"o":"reg_de_hi"},{"a":31812,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":31814,"t":"code","b":[189,194,124],"m":"lda","oa":31938,"o":"row_hi,x"},{"a":31817,"t":"code","b":[24],"m":"clc"},{"a":31818,"t":"code","b":[101,81],"m":"adc","oa":81,"o":"reg_de_hi"},{"a":31820,"t":"code","b":[133,81],"m":"sta","oa":81,"o":"reg_de_hi"},{"a":31822,"l":"b_7C4E","t":"code","b":[173,140,122],"m":"lda","oa":31372,"x":[31797],"o":"decode_row"},{"a":31825,"t":"code","b":[41,7],"m":"and","o":"#$07"},{"a":31827,"t":"code","b":[24],"m":"clc"},{"a":31828,"t":"code","b":[101,80],"m":"adc","oa":80,"o":"reg_de"},{"a":31830,"t":"code","b":[133,80],"m":"sta","oa":80,"o":"reg_de"},{"a":31832,"t":"code","b":[144,2],"m":"bcc","oa":31836,"o":"r_7C5C"},{"a":31834,"t":"code","b":[230,81],"m":"inc","oa":81,"o":"reg_de_hi"},{"a":31836,"l":"r_7C5C","t":"code","b":[96],"m":"rts","x":[31832]},{"a":31837,"l":"column_lo","c":"The low bytes of column x 8, for columns 0 to 39","t":"byte","b":[0,8,16,24,32,40,48,56],"x":[31768]},{"a":31845,"t":"byte","b":[64,72,80,88,96,104,112,120]},{"a":31853,"t":"byte","b":[128,136,144,152,160,168,176,184]},{"a":31861,"t":"byte","b":[192,200,208,216,224,232,240,248]},{"a":31869,"t":"byte","b":[0,8,16,24,32,40,48,56]},{"a":31877,"l":"column_hi","c":"The high bytes of column x 8, for columns 0 to 39","t":"byte","b":[0,0,0,0,0,0,0,0],"x":[31781]},{"a":31885,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":31893,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":31901,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":31909,"t":"byte","b":[1,1,1,1,1,1,1,1]},{"a":31917,"l":"row_lo","c":"The low bytes of character row x 320, for rows 0 to 20","t":"byte","b":[0,64,128,192,0,64,128,192],"x":[31801]},{"a":31925,"t":"byte","b":[0,64,128,192,0,64,128,192]},{"a":31933,"t":"byte","b":[0,64,128,192,0]},{"a":31938,"l":"row_hi","c":"The high bytes of character row x 320, for rows 0 to 20","t":"byte","b":[0,1,2,3,5,6,7,8],"x":[31814]},{"a":31946,"t":"byte","b":[10,11,12,13,15,16,17,18]},{"a":31954,"t":"byte","b":[20,21,22,23,25]},{"a":31959,"l":"clear_bitmap","c":"Clear the bitmap to zero: $2000-$3FFE, 8,191 bytes, the count $1FFF leaving $3FFF as it was","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[30031],"o":"save_all_slot"},{"a":31962,"t":"code","b":[169,32],"m":"lda","o":"#$20"},{"a":31964,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":31966,"t":"code","b":[169,31],"m":"lda","o":"#$1F"},{"a":31968,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"reg_iy_hi"},{"a":31970,"t":"code","b":[169,255],"m":"lda","o":"#$FF"},{"a":31972,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":31974,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31976,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":31978,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":31980,"t":"code","b":[32,207,123],"m":"jsr","oa":31695,"o":"fill_bytes"},{"a":31983,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":31986,"t":"code","b":[96],"m":"rts"},{"a":31987,"l":"colour_row_20","c":"Before the text scrolls: fill screen row 20's colour RAM ($DB20-$DB47) with the colour at $D800, and its screen bytes ($0720-$0747) with the byte at $0400. The KERNAL scrolls the whole screen, so the row that moves up into the picture's area then has the picture's colours","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[30034],"o":"save_all_slot"},{"a":31990,"t":"code","b":[32,20,125],"m":"jsr","oa":32020,"o":"row_20_count"},{"a":31993,"t":"code","b":[169,219],"m":"lda","o":"#$DB"},{"a":31995,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":31997,"t":"code","b":[173,0,216],"m":"lda","o":"colour_ram"},{"a":32000,"t":"code","b":[32,207,123],"m":"jsr","oa":31695,"o":"fill_bytes"},{"a":32003,"t":"code","b":[32,20,125],"m":"jsr","oa":32020,"o":"row_20_count"},{"a":32006,"t":"code","b":[169,7],"m":"lda","o":"#$07"},{"a":32008,"t":"code","b":[133,85],"m":"sta","oa":85,"o":"reg_ix_hi"},{"a":32010,"t":"code","b":[173,0,4],"m":"lda","oa":1024,"o":"screen"},{"a":32013,"t":"code","b":[32,207,123],"m":"jsr","oa":31695,"o":"fill_bytes"},{"a":32016,"t":"code","b":[32,138,84],"m":"jsr","oa":21642,"o":"restore_all_slot"},{"a":32019,"t":"code","b":[96],"m":"rts"},{"a":32020,"l":"row_20_count","c":"$54 = $20 and a count of 40 bytes, for $7CF3's two fills; the caller sets the high byte","t":"code","b":[169,32],"m":"lda","x":[31990,32003],"o":"#$20"},{"a":32022,"t":"code","b":[133,84],"m":"sta","oa":84,"o":"reg_ix"},{"a":32024,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":32026,"t":"code","b":[133,87],"m":"sta","oa":87,"o":"reg_iy_hi"},{"a":32028,"t":"code","b":[169,40],"m":"lda","o":"#$28"},{"a":32030,"t":"code","b":[133,86],"m":"sta","oa":86,"o":"reg_iy"},{"a":32032,"t":"code","b":[96],"m":"rts"},{"a":32033,"l":"unused_output_hook","c":"Code nothing calls or refers to: it puts the KERNAL's output vector ($0326-$0327) aside in $7D45-$7D46 and points it at $7D37, which puts the vector back and returns, so one character's output would be skipped.","t":"code","b":[173,38,3],"m":"lda","oa":806,"o":"output_vector"},{"a":32036,"t":"code","b":[141,69,125],"m":"sta","oa":32069,"o":"hook_save"},{"a":32039,"t":"code","b":[173,39,3],"m":"lda","oa":807,"o":"output_vector_hi"},{"a":32042,"t":"code","b":[141,70,125],"m":"sta","oa":32070,"o":"kept_output_hi"},{"a":32045,"t":"code","b":[169,125],"m":"lda","o":"#$7D"},{"a":32047,"t":"code","b":[141,39,3],"m":"sta","oa":807,"o":"output_vector_hi"},{"a":32050,"t":"code","b":[169,55],"m":"lda","o":"#$37"},{"a":32052,"t":"code","b":[141,38,3],"m":"sta","oa":806,"o":"output_vector"},{"a":32055,"t":"code","b":[96],"m":"rts"},{"a":32056,"t":"code","b":[173,69,125],"m":"lda","oa":32069,"o":"hook_save"},{"a":32059,"t":"code","b":[141,38,3],"m":"sta","oa":806,"o":"output_vector"},{"a":32062,"t":"code","b":[173,70,125],"m":"lda","oa":32070,"o":"kept_output_hi"},{"a":32065,"t":"code","b":[141,39,3],"m":"sta","oa":807,"o":"output_vector_hi"},{"a":32068,"t":"code","b":[96],"m":"rts"},{"a":32069,"l":"hook_save","c":"The two bytes the unused hook keeps the output vector in, then a piece of the original assembler's symbol table with labels named JEFF2 and JEFF3","t":"byte","b":[0],"x":[32036,32056]},{"a":32070,"l":"kept_output_hi","c":"The output vector's high byte, kept by the unused hook","t":"byte","b":[0,50,11,74,69,70,70,50],"x":[32042,32062]},{"a":32078,"t":"byte","b":[11,246,105,192,61,11,74,69]},{"a":32086,"t":"byte","b":[70,70,51,10,229,105,192,71]},{"a":32094,"t":"byte","b":[11,74]},{"a":32096,"l":"demo_module","c":"The demonstration's table: the next character it types ($7D64)","t":"code","b":[76,100,125],"m":"jmp","oa":32100,"x":[21714],"o":"demo_key"},{"a":32099,"l":"demo_char","c":"The character the demonstration types next","t":"byte","b":[0],"x":[32137,32151]},{"a":32100,"l":"demo_key","c":"The demonstration's next key: wait (HL counts 5,000 down), then take the script's next character ($7DAD + $1F29). A '*' is a pause: it is skipped after another wait. A zero sends the script back to its start","t":"code","b":[32,135,84],"m":"jsr","oa":21639,"x":[32096,32156,32170],"o":"save_all_slot"},{"a":32103,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":32106,"c":"5,000, the wait before each character","t":"word","b":[136,19],"d":[5000]},{"a":32108,"l":"demo_wait","c":"Count it down","t":"code","b":[32,75,84],"m":"jsr","oa":21579,"x":[32115],"o":"DECHL"},{"a":32111,"t":"code","b":[165,78],"m":"lda","oa":78,"o":"reg_hl"},{"a":32113,"t":"code","b":[5,79],"m":"ora","oa":79,"o":"reg_hl_hi"},{"a":32115,"t":"code","b":[208,247],"m":"bne","oa":32108,"o":"demo_wait"},{"a":32117,"t":"code","b":[32,144,84],"m":"jsr","oa":21648,"o":"load_hl_slot"},{"a":32120,"c":"The script position, $1F29","t":"addr","b":[41,31],"oa":7977,"o":"demo_pos"},{"a":32122,"c":"BC = the position","t":"code","b":[32,129,84],"m":"jsr","oa":21633,"o":"bc_from_hl_slot"},{"a":32125,"t":"code","b":[32,81,84],"m":"jsr","oa":21585,"o":"SETHLI"},{"a":32128,"c":"$7DAD, the script","t":"addr","b":[173,125],"oa":32173,"o":"demo_script"},{"a":32130,"c":"Take its character there and move on; '*' waits again, 0 starts over","t":"code","b":[32,132,84],"m":"jsr","oa":21636,"o":"add_hl_bc_slot"},{"a":32133,"t":"code","b":[160,0],"m":"ldy","o":"#$00"},{"a":32135,"t":"code","b":[177,78],"m":"lda","oa":78,"o":"(reg_hl),y"},{"a":32137,"t":"code","b":[141,99,125],"m":"sta","oa":32099,"o":"demo_char"},{"a":32140,"t":"code","b":[238,41,31],"m":"inc","oa":7977,"o":"demo_pos"},{"a":32143,"t":"code","b":[208,3],"m":"bne","oa":32148,"o":"b_7D94"},{"a":32145,"t":"code","b":[238,42,31],"m":"inc","oa":7978,"o":"demo_pos_hi"},{"a":32148,"l":"b_7D94","t":"code","b":[32,138,84],"m":"jsr","oa":21642,"x":[32143],"o":"restore_all_slot"},{"a":32151,"t":"code","b":[173,99,125],"m":"lda","oa":32099,"o":"demo_char"},{"a":32154,"t":"code","b":[201,42],"m":"cmp","o":"#$2A"},{"a":32156,"t":"code","b":[240,198],"m":"beq","oa":32100,"o":"demo_key"},{"a":32158,"t":"code","b":[201,0],"m":"cmp","o":"#$00"},{"a":32160,"t":"code","b":[208,10],"m":"bne","oa":32172,"o":"r_7DAC"},{"a":32162,"t":"code","b":[169,0],"m":"lda","o":"#$00"},{"a":32164,"t":"code","b":[141,41,31],"m":"sta","oa":7977,"o":"demo_pos"},{"a":32167,"t":"code","b":[141,42,31],"m":"sta","oa":7978,"o":"demo_pos_hi"},{"a":32170,"t":"code","b":[240,184],"m":"beq","oa":32100,"o":"demo_key"},{"a":32172,"l":"r_7DAC","t":"code","b":[96],"m":"rts","x":[32160]},{"a":32173,"l":"demo_script","c":"The demonstration's typing, a line at a time: three pauses, each ending with RETURN for the colour test, the copyright screen and the title, then NO to the restore question, and UNTIE ROPES, BECOME HULK, GET MAD, LOOK AROUND, WIGGLE, YELL HELP, HIT YOURSELF, LEAN FORWARD; pauses; LOOK AROUND, READ SIGN, TAKE GEM, GET MIRROR, LOOK MIRROR; TAKE FAN, TAKE CHAIR, TAKE RING, LOOK RING; PULL RING, INVENTORY; WALK EAST, LOOK OUTSIDE, GO OUTSIDE, LOOK, READ SIGN, QUIT and Y. Each \"**********\" line is a pause and a RETURN","t":"byte","b":[42,42,42,42,42,42,42,42],"x":[32128]},{"a":32181,"t":"byte","b":[42,42,13,42,42,42,42,42]},{"a":32189,"t":"byte","b":[42,42,42,42,42,13,42,42]},{"a":32197,"t":"byte","b":[42,42,42,42,42,42,42,42]},{"a":32205,"t":"byte","b":[13,78,79,13,85,78,84,73]},{"a":32213,"t":"byte","b":[69,32,82,79,80,69,83,13]},{"a":32221,"t":"byte","b":[66,69,67,79,77,69,32,72]},{"a":32229,"t":"byte","b":[85,76,75,13,71,69,84,32]},{"a":32237,"t":"byte","b":[77,65,68,13,76,79,79,75]},{"a":32245,"t":"byte","b":[32,65,82,79,85,78,68,13]},{"a":32253,"t":"byte","b":[87,73,71,71,76,69,13,89]},{"a":32261,"t":"byte","b":[69,76,76,32,72,69,76,80]},{"a":32269,"t":"byte","b":[13,72,73,84,32,89,79,85]},{"a":32277,"t":"byte","b":[82,83,69,76,70,13,76,69]},{"a":32285,"t":"byte","b":[65,78,32,70,79,82,87,65]},{"a":32293,"t":"byte","b":[82,68,13,42,42,42,42,42]},{"a":32301,"t":"byte","b":[42,42,42,42,42,13,42,42]},{"a":32309,"t":"byte","b":[42,42,42,42,42,42,42,42]},{"a":32317,"t":"byte","b":[13,42,42,42,42,42,42,42]},{"a":32325,"t":"byte","b":[42,42,42,13,76,79,79,75]},{"a":32333,"t":"byte","b":[32,65,82,79,85,78,68,13]},{"a":32341,"t":"byte","b":[82,69,65,68,32,83,73,71]},{"a":32349,"t":"byte","b":[78,13,84,65,75,69,32,71]},{"a":32357,"t":"byte","b":[69,77,13,71,69,84,32,77]},{"a":32365,"t":"byte","b":[73,82,82,79,82,13,76,79]},{"a":32373,"t":"byte","b":[79,75,32,77,73,82,82,79]},{"a":32381,"t":"byte","b":[82,13,42,42,42,42,42,42]},{"a":32389,"t":"byte","b":[42,42,42,42,13,84,65,75]},{"a":32397,"t":"byte","b":[69,32,70,65,78,13,84,65]},{"a":32405,"t":"byte","b":[75,69,32,67,72,65,73,82]},{"a":32413,"t":"byte","b":[13,84,65,75,69,32,82,73]},{"a":32421,"t":"byte","b":[78,71,13,76,79,79,75,32]},{"a":32429,"t":"byte","b":[82,73,78,71,13,42,42,42]},{"a":32437,"t":"byte","b":[42,42,42,42,42,42,42,13]},{"a":32445,"t":"byte","b":[80,85,76,76,32,82,73,78]},{"a":32453,"t":"byte","b":[71,13,73,78,86,69,78,84]},{"a":32461,"t":"byte","b":[79,82,89,13,42,42,42,42]},{"a":32469,"t":"byte","b":[42,42,42,42,42,42,13,87]},{"a":32477,"t":"byte","b":[65,76,75,32,69,65,83,84]},{"a":32485,"t":"byte","b":[13,76,79,79,75,32,79,85]},{"a":32493,"t":"byte","b":[84,83,73,68,69,13,71,79]},{"a":32501,"t":"byte","b":[32,79,85,84,83,73,68,69]},{"a":32509,"t":"byte","b":[13,76,79,79,75,13,82,69]},{"a":32517,"t":"byte","b":[65,68,32,83,73,71,78,13]},{"a":32525,"t":"byte","b":[81,85,73,84,13,89,13,0]},{"a":32533,"t":"byte","b":[0]},{"a":32534,"l":"program_tail","c":"Zero bytes to the end of the program at $7FFE, unused","t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32542,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32550,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32558,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32566,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32574,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32582,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32590,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32598,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32606,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32614,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32622,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32630,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32638,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32646,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32654,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32662,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32670,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32678,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32686,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32694,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32702,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32710,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32718,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32726,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32734,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32742,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32750,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32758,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":32766,"t":"byte","b":[0]},{"a":32767,"t":"gap","n":49},{"a":32816,"l":"db_action_verbs","c":"The address of the actions' verb column, $9446: a byte for each action. The database begins with the addresses of its tables and the numbers that size them; the program reads each through here","t":"addr","b":[70,148],"oa":37958,"o":"action_verbs","x":[23405]},{"a":32818,"l":"db_action_nouns","c":"The address of the actions' noun column, $954C","t":"addr","b":[76,149],"oa":38220,"o":"action_nouns","x":[23419]},{"a":32820,"l":"db_action_commands","c":"The addresses of the four command columns, $9652, $9758, $985E and $9964, a byte per action in each","t":"addr","b":[82,150],"oa":38482,"o":"action_commands_1","x":[23734]},{"a":32822,"t":"addr","b":[88,151],"oa":38744,"o":"action_commands_2"},{"a":32824,"t":"addr","b":[94,152],"oa":39006,"o":"action_commands_3"},{"a":32826,"t":"addr","b":[100,153],"oa":39268,"o":"action_commands_4"},{"a":32828,"l":"db_action_conditions","c":"The addresses of the five condition columns, $9A6A, $9C76, $9E82, $A08E and $A29A, a word per action in each","t":"addr","b":[106,154],"oa":39530,"o":"action_conditions_1","x":[25636]},{"a":32830,"t":"addr","b":[118,156],"oa":40054,"o":"action_conditions_2"},{"a":32832,"t":"addr","b":[130,158],"oa":40578,"o":"action_conditions_3"},{"a":32834,"t":"addr","b":[142,160],"oa":41102,"o":"action_conditions_4"},{"a":32836,"t":"addr","b":[154,162],"oa":41626,"o":"action_conditions_5"},{"a":32838,"l":"db_room_texts","c":"The address of the room descriptions' address table, $A4A6, a word for each room from 0 to 20","t":"addr","b":[166,164],"oa":42150,"o":"room_text_table","x":[25361]},{"a":32840,"l":"db_exits","c":"The addresses of the six exit columns, north, south, east, west, up and down: $A4D0, $A4FA, $A524, $A54E, $A578 and $A5A2","t":"addr","b":[208,164],"oa":42192,"o":"exits_north","x":[24475,25493]},{"a":32842,"t":"addr","b":[250,164],"oa":42234,"o":"exits_south"},{"a":32844,"t":"addr","b":[36,165],"oa":42276,"o":"exits_east"},{"a":32846,"t":"addr","b":[78,165],"oa":42318,"o":"exits_west"},{"a":32848,"t":"addr","b":[120,165],"oa":42360,"o":"exits_up"},{"a":32850,"t":"addr","b":[162,165],"oa":42402,"o":"exits_down"},{"a":32852,"l":"db_messages","c":"The address of the messages' address table, $A5CC, a word for each message","t":"addr","b":[204,165],"oa":42444,"o":"message_table","x":[23791]},{"a":32854,"l":"db_locations_copy","c":"$92FC, a second copy of the items' starting locations: nothing in the program reads this word or the copy","t":"addr","b":[252,146],"oa":37628,"o":"locations_copy"},{"a":32856,"l":"db_item_texts","c":"The address of the items' description table, $936A, a word for each item from 0 to 54","t":"addr","b":[106,147],"oa":37738,"o":"item_text_table","x":[22609,24031,25183,25450]},{"a":32858,"l":"db_start_locations","c":"The address of the items' starting locations, $93D8, a word each: the new game copies them to $1C3C, and conditions 17 and 18 compare with them","t":"addr","b":[216,147],"oa":37848,"o":"start_locations","x":[25043,25072,26929]},{"a":32860,"l":"db_92fb","c":"$92FB, the byte before the second copy of the locations; nothing reads this word","t":"addr","b":[251,146],"oa":37627,"o":"locations_copy_before"},{"a":32862,"l":"db_noun_list","c":"The address of the noun list, $8082","t":"addr","b":[130,128],"oa":32898,"o":"noun_list","x":[28104]},{"a":32864,"l":"db_verb_list","c":"The address of the verb list, $8307","t":"addr","b":[7,131],"oa":33543,"o":"verb_list","x":[28052]},{"a":32866,"l":"db_version","c":"127, the database's version, which the title prints after \"Version: 3-\" ($7117)","t":"word","b":[127,0],"d":[127],"x":[28954]},{"a":32868,"l":"db_check","c":"1, the check byte: a new game puts it at $1E3C, the end of the saved block, and a restored game must have it there","t":"word","b":[1,0],"d":[1],"x":[26898,28648]},{"a":32870,"l":"db_word_length","c":"4, the letters of a word that are compared: the parser reads only the first four of each word typed","t":"word","b":[4,0],"d":[4],"x":[24106,27019,27037,27051,27062]},{"a":32872,"l":"db_last_word","c":"128, the last entry's number in each word list, so each holds 129 words","t":"word","b":[128,0],"d":[128],"x":[26997]},{"a":32874,"l":"db_last_action","c":"261, the last action's number: there are 262, from 0","t":"word","b":[5,1],"d":[261],"x":[23360]},{"a":32876,"l":"db_last_item","c":"54, the last item's number: there are 55, from 0","t":"word","b":[54,0],"d":[54],"x":[21897,22588,24908,25163,25435,26907,30217]},{"a":32878,"l":"db_last_message","c":"99, the last message with a text; nothing reads this word","t":"word","b":[99,0],"d":[99]},{"a":32880,"l":"db_limbo","c":"20, the room a dead player is taken to, \"a state of limbo\"","t":"word","b":[20,0],"d":[20],"x":[22382,24535]},{"a":32882,"l":"db_max_carry","c":"10, the most items that GET will carry","t":"word","b":[10,0],"d":[10],"x":[21935,24001]},{"a":32884,"l":"db_start_room","c":"1, the room a new game starts in","t":"word","b":[1,0],"d":[1],"x":[26952]},{"a":32885,"t":"note","l":"db_start_room_hi","c":"The starting room's high byte, copied to $1C23","note":"inside the item at $8074","x":[26958]},{"a":32886,"l":"db_treasures","c":"17, the number of treasures, which the score divides by","t":"word","b":[17,0],"d":[17],"x":[22726,22738]},{"a":32888,"l":"db_light_turns","c":"150, the turns a full light lasts, copied to $1E9F by the new game and by command 69","t":"word","b":[150,0],"d":[150],"x":[22864,26964]},{"a":32889,"t":"note","l":"db_light_turns_hi","c":"The high byte of the light's full turns, 150","note":"inside the item at $8078","x":[22870,26970]},{"a":32890,"l":"db_807a","c":"A zero byte nothing reads","t":"byte","b":[0]},{"a":32891,"l":"db_treasure_room","c":"16, the room where treasures score, the fuzzy area; the score compares its low byte with each treasure's location","t":"word","b":[16,0],"d":[16],"x":[22636]},{"a":32893,"l":"db_item_text_size","c":"677, the length of the items' descriptions ($9056-$92FA), which GET and DROP search for a word between slashes","t":"word","b":[165,2],"d":[677],"x":[24023]},{"a":32895,"l":"db_807f","c":"Three bytes nothing reads, $4F, $4E and $AF","t":"byte","b":[79,78,175]},{"a":32898,"l":"noun_list","c":"The noun list: 129 entries of five bytes, a lead byte and four letters padded with zeros. A lead byte of '*' marks another word for the nearest entry above without one, and the lookup ($6975) answers with that entry's number. Noun 0, \"ANY\"","t":"byte","b":[0,65,78,89,0],"x":[32862]},{"a":32903,"c":"Noun 1, \"NORT\"","t":"byte","b":[0,78,79,82,84]},{"a":32908,"c":"Noun 2, \"SOUT\"","t":"byte","b":[0,83,79,85,84]},{"a":32913,"c":"Noun 3, \"EAST\"","t":"byte","b":[0,69,65,83,84]},{"a":32918,"c":"Noun 4, \"WEST\"","t":"byte","b":[0,87,69,83,84]},{"a":32923,"c":"Noun 5, \"UP\"","t":"byte","b":[0,85,80,0,0]},{"a":32928,"c":"Noun 6, \"DOWN\"","t":"byte","b":[0,68,79,87,78]},{"a":32933,"c":"Noun 7, \"LOOS\"","t":"byte","b":[0,76,79,79,83]},{"a":32938,"c":"Noun 8, \"INVE\"","t":"byte","b":[0,73,78,86,69]},{"a":32943,"c":"Noun 9, \"MIRR\"","t":"byte","b":[0,77,73,82,82]},{"a":32948,"c":"Noun 10, \"PROG\"","t":"byte","b":[0,80,82,79,71]},{"a":32953,"c":"Noun 11, \"GAME\"","t":"byte","b":[0,71,65,77,69]},{"a":32958,"c":"Noun 12, \"ME\"","t":"byte","b":[0,77,69,0,0]},{"a":32963,"c":"Noun entry 13, \"MYSE\", another word for noun 12, \"ME\"","t":"byte","b":[42,77,89,83,69]},{"a":32968,"c":"Noun entry 14, \"SELF\", another word for noun 12, \"ME\"","t":"byte","b":[42,83,69,76,70]},{"a":32973,"c":"Noun entry 15, \"BANN\", another word for noun 12, \"ME\"","t":"byte","b":[42,66,65,78,78]},{"a":32978,"c":"Noun entry 16, \"HULK\", another word for noun 12, \"ME\"","t":"byte","b":[42,72,85,76,75]},{"a":32983,"c":"Noun entry 17, \"YOU\", another word for noun 12, \"ME\"","t":"byte","b":[42,89,79,85,0]},{"a":32988,"c":"Noun entry 18, \"YOUR\", another word for noun 12, \"ME\"","t":"byte","b":[42,89,79,85,82]},{"a":32993,"c":"Noun entry 19, \"HEAD\", another word for noun 12, \"ME\"","t":"byte","b":[42,72,69,65,68]},{"a":32998,"c":"Noun entry 20, \"FACE\", another word for noun 12, \"ME\"","t":"byte","b":[42,70,65,67,69]},{"a":33003,"c":"Noun 21, \"BEES\"","t":"byte","b":[0,66,69,69,83]},{"a":33008,"c":"Noun entry 22, \"BEE\", another word for noun 21, \"BEES\"","t":"byte","b":[42,66,69,69,0]},{"a":33013,"c":"Noun 23, \"CEIL\"","t":"byte","b":[0,67,69,73,76]},{"a":33018,"c":"Noun entry 24, \"CIEL\", another word for noun 23, \"CEIL\"","t":"byte","b":[42,67,73,69,76]},{"a":33023,"c":"Noun entry 25, \"ROOF\", another word for noun 23, \"CEIL\"","t":"byte","b":[42,82,79,79,70]},{"a":33028,"c":"Noun 26, \"BASE\"","t":"byte","b":[0,66,65,83,69]},{"a":33033,"c":"Noun 27, \"MAD\"","t":"byte","b":[0,77,65,68,0]},{"a":33038,"c":"Noun entry 28, \"ANGE\", another word for noun 27, \"MAD\"","t":"byte","b":[42,65,78,71,69]},{"a":33043,"c":"Noun entry 29, \"RAGE\", another word for noun 27, \"MAD\"","t":"byte","b":[42,82,65,71,69]},{"a":33048,"c":"Noun entry 30, \"UPSE\", another word for noun 27, \"MAD\"","t":"byte","b":[42,85,80,83,69]},{"a":33053,"c":"Noun entry 31, \"ANGR\", another word for noun 27, \"MAD\"","t":"byte","b":[42,65,78,71,82]},{"a":33058,"c":"Noun 32, \"CHAI\"","t":"byte","b":[0,67,72,65,73]},{"a":33063,"c":"Noun 33, \"WAX\"","t":"byte","b":[0,87,65,88,0]},{"a":33068,"c":"Noun 34, \"FAN\"","t":"byte","b":[0,70,65,78,0]},{"a":33073,"c":"Noun 35, \"MESH\"","t":"byte","b":[0,77,69,83,72]},{"a":33078,"c":"Noun entry 36, \"WIRE\", another word for noun 35, \"MESH\"","t":"byte","b":[42,87,73,82,69]},{"a":33083,"c":"Noun 37, \"FING\"","t":"byte","b":[0,70,73,78,71]},{"a":33088,"c":"Noun entry 38, \"HAND\", another word for noun 37, \"FING\"","t":"byte","b":[42,72,65,78,68]},{"a":33093,"c":"Noun entry 39, \"FOOT\", another word for noun 37, \"FING\"","t":"byte","b":[42,70,79,79,84]},{"a":33098,"c":"Noun entry 40, \"FEET\", another word for noun 37, \"FING\"","t":"byte","b":[42,70,69,69,84]},{"a":33103,"c":"Noun 41, \"GEM\"","t":"byte","b":[0,71,69,77,0]},{"a":33108,"c":"Noun 42, \"BACK\"","t":"byte","b":[0,66,65,67,75]},{"a":33113,"c":"Noun entry 43, \"FORW\", another word for noun 42, \"BACK\"","t":"byte","b":[42,70,79,82,87]},{"a":33118,"c":"Noun entry 44, \"OVER\", another word for noun 42, \"BACK\"","t":"byte","b":[42,79,86,69,82]},{"a":33123,"c":"Noun 45, \".\"","t":"byte","b":[0,46,0,0,0]},{"a":33128,"c":"Noun 46, \"TONG\"","t":"byte","b":[0,84,79,78,71]},{"a":33133,"c":"Noun entry 47, \"LIP\", another word for noun 46, \"TONG\"","t":"byte","b":[42,76,73,80,0]},{"a":33138,"c":"Noun entry 48, \"CHEE\", another word for noun 46, \"TONG\"","t":"byte","b":[42,67,72,69,69]},{"a":33143,"c":"Noun entry 49, \"TUNG\", another word for noun 46, \"TONG\"","t":"byte","b":[42,84,85,78,71]},{"a":33148,"c":"Noun entry 50, \"TONQ\", another word for noun 46, \"TONG\"","t":"byte","b":[42,84,79,78,81]},{"a":33153,"c":"Noun entry 51, \"SKIN\", another word for noun 46, \"TONG\"","t":"byte","b":[42,83,75,73,78]},{"a":33158,"c":"Noun entry 52, \"MOUT\", another word for noun 46, \"TONG\"","t":"byte","b":[42,77,79,85,84]},{"a":33163,"c":"Noun 53, \"FIEL\"","t":"byte","b":[0,70,73,69,76]},{"a":33168,"c":"Noun 54, \"SIGN\"","t":"byte","b":[0,83,73,71,78]},{"a":33173,"c":"Noun 55, \"DOME\"","t":"byte","b":[0,68,79,77,69]},{"a":33178,"c":"Noun entry 56, \"TUNN\", another word for noun 55, \"DOME\"","t":"byte","b":[42,84,85,78,78]},{"a":33183,"c":"Noun entry 57, \"OUT\", another word for noun 55, \"DOME\"","t":"byte","b":[42,79,85,84,0]},{"a":33188,"c":"Noun entry 58, \"OUTS\", another word for noun 55, \"DOME\"","t":"byte","b":[42,79,85,84,83]},{"a":33193,"c":"Noun 59, \".\"","t":"byte","b":[0,46,0,0,0]},{"a":33198,"c":"Noun 60, \"ENER\"","t":"byte","b":[0,69,78,69,82]},{"a":33203,"c":"Noun 61, \"NOSE\"","t":"byte","b":[0,78,79,83,69]},{"a":33208,"c":"Noun 62, \"EYES\"","t":"byte","b":[0,69,89,69,83]},{"a":33213,"c":"Noun entry 63, \"EYE\", another word for noun 62, \"EYES\"","t":"byte","b":[42,69,89,69,0]},{"a":33218,"c":"Noun 64, \"EARS\"","t":"byte","b":[0,69,65,82,83]},{"a":33223,"c":"Noun entry 65, \"EAR\", another word for noun 64, \"EARS\"","t":"byte","b":[42,69,65,82,0]},{"a":33228,"c":"Noun 66, \"HOLE\"","t":"byte","b":[0,72,79,76,69]},{"a":33233,"c":"Noun entry 67, \"OUTL\", another word for noun 66, \"HOLE\"","t":"byte","b":[42,79,85,84,76]},{"a":33238,"c":"Noun entry 68, \"GAS\", another word for noun 66, \"HOLE\"","t":"byte","b":[42,71,65,83,0]},{"a":33243,"c":"Noun 69, \"ROPE\"","t":"byte","b":[0,82,79,80,69]},{"a":33248,"c":"Noun entry 70, \"TIES\", another word for noun 69, \"ROPE\"","t":"byte","b":[42,84,73,69,83]},{"a":33253,"c":"Noun entry 71, \"BOND\", another word for noun 69, \"ROPE\"","t":"byte","b":[42,66,79,78,68]},{"a":33258,"c":"Noun 72, \"ANTS\"","t":"byte","b":[0,65,78,84,83]},{"a":33263,"c":"Noun entry 73, \"ANT\", another word for noun 72, \"ANTS\"","t":"byte","b":[42,65,78,84,0]},{"a":33268,"c":"Noun entry 74, \"ANT-\", another word for noun 72, \"ANTS\"","t":"byte","b":[42,65,78,84,45]},{"a":33273,"c":"Noun entry 75, \"MAN\", another word for noun 72, \"ANTS\"","t":"byte","b":[42,77,65,78,0]},{"a":33278,"c":"Noun 76, \"FLOO\"","t":"byte","b":[0,70,76,79,79]},{"a":33283,"c":"Noun 77, \"DR\"","t":"byte","b":[0,68,82,0,0]},{"a":33288,"c":"Noun entry 78, \"ASTR\", another word for noun 77, \"DR\"","t":"byte","b":[42,65,83,84,82]},{"a":33293,"c":"Noun entry 79, \"STRA\", another word for noun 77, \"DR\"","t":"byte","b":[42,83,84,82,65]},{"a":33298,"c":"Noun entry 80, \"DR.\", another word for noun 77, \"DR\"","t":"byte","b":[42,68,82,46,0]},{"a":33303,"c":"Noun entry 81, \"DR.S\", another word for noun 77, \"DR\"","t":"byte","b":[42,68,82,46,83]},{"a":33308,"c":"Noun entry 82, \"PROJ\", another word for noun 77, \"DR\"","t":"byte","b":[42,80,82,79,74]},{"a":33313,"c":"Noun 83, \"RING\"","t":"byte","b":[0,82,73,78,71]},{"a":33318,"c":"Noun 84, \"NIGH\"","t":"byte","b":[0,78,73,71,72]},{"a":33323,"c":"Noun 85, \"MODO\"","t":"byte","b":[0,77,79,68,79]},{"a":33328,"c":"Noun 86, \"ABOM\"","t":"byte","b":[0,65,66,79,77]},{"a":33333,"c":"Noun 87, \"ALAM\"","t":"byte","b":[0,65,76,65,77]},{"a":33338,"c":"Noun 88, \"BUTT\"","t":"byte","b":[0,66,85,84,84]},{"a":33343,"c":"Noun 89, \"HELL\"","t":"byte","b":[0,72,69,76,76]},{"a":33348,"c":"Noun 90, \"HI\"","t":"byte","b":[0,72,73,0,0]},{"a":33353,"c":"Noun 91, \"BYE\"","t":"byte","b":[0,66,89,69,0]},{"a":33358,"c":"Noun 92, \"GOOD\"","t":"byte","b":[0,71,79,79,68]},{"a":33363,"c":"Noun 93, \"HOWD\"","t":"byte","b":[0,72,79,87,68]},{"a":33368,"c":"Noun 94, \"HELP\"","t":"byte","b":[0,72,69,76,80]},{"a":33373,"c":"Noun 95, \"AREA\"","t":"byte","b":[0,65,82,69,65]},{"a":33378,"c":"Noun entry 96, \"FUZZ\", another word for noun 95, \"AREA\"","t":"byte","b":[42,70,85,90,90]},{"a":33383,"c":"Noun 97, \"AROU\"","t":"byte","b":[0,65,82,79,85]},{"a":33388,"c":"Noun 98, \"BEAM\"","t":"byte","b":[0,66,69,65,77]},{"a":33393,"c":"Noun 99, \"SCOT\"","t":"byte","b":[0,83,67,79,84]},{"a":33398,"c":"Noun 100, \"ADAM\"","t":"byte","b":[0,65,68,65,77]},{"a":33403,"c":"Noun 101, \"PANT\"","t":"byte","b":[0,80,65,78,84]},{"a":33408,"c":"Noun 102, \"TO\"","t":"byte","b":[0,84,79,0,0]},{"a":33413,"c":"Noun 103, \"INTO\"","t":"byte","b":[0,73,78,84,79]},{"a":33418,"c":"Noun 104, \"BREA\"","t":"byte","b":[0,66,82,69,65]},{"a":33423,"c":"Noun 105, \"IN\"","t":"byte","b":[0,73,78,0,0]},{"a":33428,"c":"Noun 106, \"IT\"","t":"byte","b":[0,73,84,0,0]},{"a":33433,"c":"Noun 107, \"AT\"","t":"byte","b":[0,65,84,0,0]},{"a":33438,"c":"Noun 108, \"EGG\"","t":"byte","b":[0,69,71,71,0]},{"a":33443,"c":"Noun entry 109, \"NATT\", another word for noun 108, \"EGG\"","t":"byte","b":[42,78,65,84,84]},{"a":33448,"c":"Noun 110, \"WALL\"","t":"byte","b":[0,87,65,76,76]},{"a":33453,"c":"Noun entry 111, \"ROOM\", another word for noun 110, \"WALL\"","t":"byte","b":[42,82,79,79,77]},{"a":33458,"c":"Noun 112, \"MACH\"","t":"byte","b":[0,77,65,67,72]},{"a":33463,"c":"Noun 113, \"SCRA\"","t":"byte","b":[0,83,67,82,65]},{"a":33468,"c":"Noun 114, \"MARK\"","t":"byte","b":[0,77,65,82,75]},{"a":33473,"c":"Noun 115, \"CRAC\"","t":"byte","b":[0,67,82,65,67]},{"a":33478,"c":"Noun 116, \"LIMB\"","t":"byte","b":[0,76,73,77,66]},{"a":33483,"c":"Noun 117, \"SPAC\"","t":"byte","b":[0,83,80,65,67]},{"a":33488,"c":"Noun 118, \"WARP\"","t":"byte","b":[0,87,65,82,80]},{"a":33493,"c":"Noun 119, \"DIRT\"","t":"byte","b":[0,68,73,82,84]},{"a":33498,"c":"Noun 120, \"ULTR\"","t":"byte","b":[0,85,76,84,82]},{"a":33503,"c":"Noun 121, \"CAGE\"","t":"byte","b":[0,67,65,71,69]},{"a":33508,"c":"Noun 122, \"CAVE\"","t":"byte","b":[0,67,65,86,69]},{"a":33513,"c":"Noun 123, \"DOOR\"","t":"byte","b":[0,68,79,79,82]},{"a":33518,"c":"Noun 124, \"BIO\"","t":"byte","b":[0,66,73,79,0]},{"a":33523,"c":"Noun 125, \"INSI\"","t":"byte","b":[0,73,78,83,73]},{"a":33528,"c":"Noun 126, \"CHIE\"","t":"byte","b":[0,67,72,73,69]},{"a":33533,"c":"Noun entry 127, \"EXAM\", another word for noun 126, \"CHIE\"","t":"byte","b":[42,69,88,65,77]},{"a":33538,"c":"Noun 128, \"DESK\"","t":"byte","b":[0,68,69,83,75]},{"a":33543,"l":"verb_list","c":"The verb list: 129 entries of five bytes, a lead byte and four letters padded with zeros. A lead byte of '*' marks another word for the nearest entry above without one, and the lookup ($6975) answers with that entry's number. Verb 0, \"AUTO\"","t":"byte","b":[0,65,85,84,79],"x":[32864]},{"a":33548,"c":"Verb 1, \"GO\"","t":"byte","b":[0,71,79,0,0]},{"a":33553,"c":"Verb entry 2, \"WALK\", another word for verb 1, \"GO\"","t":"byte","b":[42,87,65,76,75]},{"a":33558,"c":"Verb entry 3, \"RUN\", another word for verb 1, \"GO\"","t":"byte","b":[42,82,85,78,0]},{"a":33563,"c":"Verb entry 4, \"ENTE\", another word for verb 1, \"GO\"","t":"byte","b":[42,69,78,84,69]},{"a":33568,"c":"Verb entry 5, \"G\", another word for verb 1, \"GO\"","t":"byte","b":[42,71,0,0,0]},{"a":33573,"c":"Verb entry 6, \"FOLL\", another word for verb 1, \"GO\"","t":"byte","b":[42,70,79,76,76]},{"a":33578,"c":"Verb 7, \"FREE\"","t":"byte","b":[0,70,82,69,69]},{"a":33583,"c":"Verb entry 8, \"RELE\", another word for verb 7, \"FREE\"","t":"byte","b":[42,82,69,76,69]},{"a":33588,"c":"Verb entry 9, \"UNCA\", another word for verb 7, \"FREE\"","t":"byte","b":[42,85,78,67,65]},{"a":33593,"c":"Verb 10, \"GET\"","t":"byte","b":[0,71,69,84,0]},{"a":33598,"c":"Verb entry 11, \"TAKE\", another word for verb 10, \"GET\"","t":"byte","b":[42,84,65,75,69]},{"a":33603,"c":"Verb entry 12, \"GRAB\", another word for verb 10, \"GET\"","t":"byte","b":[42,71,82,65,66]},{"a":33608,"c":"Verb entry 13, \"CARR\", another word for verb 10, \"GET\"","t":"byte","b":[42,67,65,82,82]},{"a":33613,"c":"Verb entry 14, \"HOLD\", another word for verb 10, \"GET\"","t":"byte","b":[42,72,79,76,68]},{"a":33618,"c":"Verb entry 15, \"CATC\", another word for verb 10, \"GET\"","t":"byte","b":[42,67,65,84,67]},{"a":33623,"c":"Verb entry 16, \"STAN\", another word for verb 10, \"GET\"","t":"byte","b":[42,83,84,65,78]},{"a":33628,"c":"Verb 17, \"SCRA\"","t":"byte","b":[0,83,67,82,65]},{"a":33633,"c":"Verb 18, \"DROP\"","t":"byte","b":[0,68,82,79,80]},{"a":33638,"c":"Verb entry 19, \"LEAV\", another word for verb 18, \"DROP\"","t":"byte","b":[42,76,69,65,86]},{"a":33643,"c":"Verb entry 20, \"THRO\", another word for verb 18, \"DROP\"","t":"byte","b":[42,84,72,82,79]},{"a":33648,"c":"Verb 21, \".\"","t":"byte","b":[0,46,0,0,0]},{"a":33653,"c":"Verb 22, \"MAKE\"","t":"byte","b":[0,77,65,75,69]},{"a":33658,"c":"Verb entry 23, \"CREA\", another word for verb 22, \"MAKE\"","t":"byte","b":[42,67,82,69,65]},{"a":33663,"c":"Verb 24, \"THIN\"","t":"byte","b":[0,84,72,73,78]},{"a":33668,"c":"Verb 25, \"FIND\"","t":"byte","b":[0,70,73,78,68]},{"a":33673,"c":"Verb entry 26, \"SEAR\", another word for verb 25, \"FIND\"","t":"byte","b":[42,83,69,65,82]},{"a":33678,"c":"Verb entry 27, \"LOCA\", another word for verb 25, \"FIND\"","t":"byte","b":[42,76,79,67,65]},{"a":33683,"c":"Verb 28, \"WAVE\"","t":"byte","b":[0,87,65,86,69]},{"a":33688,"c":"Verb 29, \"AT\"","t":"byte","b":[0,65,84,0,0]},{"a":33693,"c":"Verb entry 30, \"TOWA\", another word for verb 29, \"AT\"","t":"byte","b":[42,84,79,87,65]},{"a":33698,"c":"Verb 31, \"QUIT\"","t":"byte","b":[0,81,85,73,84]},{"a":33703,"c":"Verb 32, \"SAY\"","t":"byte","b":[0,83,65,89,0]},{"a":33708,"c":"Verb entry 33, \"YELL\", another word for verb 32, \"SAY\"","t":"byte","b":[42,89,69,76,76]},{"a":33713,"c":"Verb entry 34, \"SCRE\", another word for verb 32, \"SAY\"","t":"byte","b":[42,83,67,82,69]},{"a":33718,"c":"Verb entry 35, \"TALK\", another word for verb 32, \"SAY\"","t":"byte","b":[42,84,65,76,75]},{"a":33723,"c":"Verb entry 36, \"SPEA\", another word for verb 32, \"SAY\"","t":"byte","b":[42,83,80,69,65]},{"a":33728,"c":"Verb entry 37, \"CALL\", another word for verb 32, \"SAY\"","t":"byte","b":[42,67,65,76,76]},{"a":33733,"c":"Verb entry 38, \"ASK\", another word for verb 32, \"SAY\"","t":"byte","b":[42,65,83,75,0]},{"a":33738,"c":"Verb 39, \"LOOK\"","t":"byte","b":[0,76,79,79,75]},{"a":33743,"c":"Verb entry 40, \"L\", another word for verb 39, \"LOOK\"","t":"byte","b":[42,76,0,0,0]},{"a":33748,"c":"Verb entry 41, \"EXAM\", another word for verb 39, \"LOOK\"","t":"byte","b":[42,69,88,65,77]},{"a":33753,"c":"Verb entry 42, \"SEE\", another word for verb 39, \"LOOK\"","t":"byte","b":[42,83,69,69,0]},{"a":33758,"c":"Verb entry 43, \"DESC\", another word for verb 39, \"LOOK\"","t":"byte","b":[42,68,69,83,67]},{"a":33763,"c":"Verb entry 44, \"READ\", another word for verb 39, \"LOOK\"","t":"byte","b":[42,82,69,65,68]},{"a":33768,"c":"Verb 45, \"COVE\"","t":"byte","b":[0,67,79,86,69]},{"a":33773,"c":"Verb entry 46, \"BLOC\", another word for verb 45, \"COVE\"","t":"byte","b":[42,66,76,79,67]},{"a":33778,"c":"Verb 47, \"SCOR\"","t":"byte","b":[0,83,67,79,82]},{"a":33783,"c":"Verb 48, \"SAVE\"","t":"byte","b":[0,83,65,86,69]},{"a":33788,"c":"Verb 49, \"HELP\"","t":"byte","b":[0,72,69,76,80]},{"a":33793,"c":"Verb 50, \"INVE\"","t":"byte","b":[0,73,78,86,69]},{"a":33798,"c":"Verb 51, \"HIT\"","t":"byte","b":[0,72,73,84,0]},{"a":33803,"c":"Verb entry 52, \"KICK\", another word for verb 51, \"HIT\"","t":"byte","b":[42,75,73,67,75]},{"a":33808,"c":"Verb entry 53, \"PUNC\", another word for verb 51, \"HIT\"","t":"byte","b":[42,80,85,78,67]},{"a":33813,"c":"Verb entry 54, \"SLUG\", another word for verb 51, \"HIT\"","t":"byte","b":[42,83,76,85,71]},{"a":33818,"c":"Verb entry 55, \"POUN\", another word for verb 51, \"HIT\"","t":"byte","b":[42,80,79,85,78]},{"a":33823,"c":"Verb entry 56, \"SMAS\", another word for verb 51, \"HIT\"","t":"byte","b":[42,83,77,65,83]},{"a":33828,"c":"Verb entry 57, \"PINC\", another word for verb 51, \"HIT\"","t":"byte","b":[42,80,73,78,67]},{"a":33833,"c":"Verb entry 58, \"DEST\", another word for verb 51, \"HIT\"","t":"byte","b":[42,68,69,83,84]},{"a":33838,"c":"Verb entry 59, \"HURT\", another word for verb 51, \"HIT\"","t":"byte","b":[42,72,85,82,84]},{"a":33843,"c":"Verb entry 60, \"STEP\", another word for verb 51, \"HIT\"","t":"byte","b":[42,83,84,69,80]},{"a":33848,"c":"Verb entry 61, \"RIP\", another word for verb 51, \"HIT\"","t":"byte","b":[42,82,73,80,0]},{"a":33853,"c":"Verb entry 62, \"BREA\", another word for verb 51, \"HIT\"","t":"byte","b":[42,66,82,69,65]},{"a":33858,"c":"Verb entry 63, \"DEST\", another word for verb 51, \"HIT\"","t":"byte","b":[42,68,69,83,84]},{"a":33863,"c":"Verb entry 64, \"STAM\", another word for verb 51, \"HIT\"","t":"byte","b":[42,83,84,65,77]},{"a":33868,"c":"Verb entry 65, \"SWAT\", another word for verb 51, \"HIT\"","t":"byte","b":[42,83,87,65,84]},{"a":33873,"c":"Verb entry 66, \"FIGH\", another word for verb 51, \"HIT\"","t":"byte","b":[42,70,73,71,72]},{"a":33878,"c":"Verb entry 67, \"STOM\", another word for verb 51, \"HIT\"","t":"byte","b":[42,83,84,79,77]},{"a":33883,"c":"Verb 68, \"PUSH\"","t":"byte","b":[0,80,85,83,72]},{"a":33888,"c":"Verb entry 69, \"PRES\", another word for verb 68, \"PUSH\"","t":"byte","b":[42,80,82,69,83]},{"a":33893,"c":"Verb 70, \"BITE\"","t":"byte","b":[0,66,73,84,69]},{"a":33898,"c":"Verb entry 71, \"CHEW\", another word for verb 70, \"BITE\"","t":"byte","b":[42,67,72,69,87]},{"a":33903,"c":"Verb entry 72, \"EAT\", another word for verb 70, \"BITE\"","t":"byte","b":[42,69,65,84,0]},{"a":33908,"c":"Verb entry 73, \"SWAL\", another word for verb 70, \"BITE\"","t":"byte","b":[42,83,87,65,76]},{"a":33913,"c":"Verb entry 74, \"BIT\", another word for verb 70, \"BITE\"","t":"byte","b":[42,66,73,84,0]},{"a":33918,"c":"Verb 75, \"FAN\"","t":"byte","b":[0,70,65,78,0]},{"a":33923,"c":"Verb 76, \"ROCK\"","t":"byte","b":[0,82,79,67,75]},{"a":33928,"c":"Verb entry 77, \"TIP\", another word for verb 76, \"ROCK\"","t":"byte","b":[42,84,73,80,0]},{"a":33933,"c":"Verb entry 78, \"LEAN\", another word for verb 76, \"ROCK\"","t":"byte","b":[42,76,69,65,78]},{"a":33938,"c":"Verb entry 79, \"SHAK\", another word for verb 76, \"ROCK\"","t":"byte","b":[42,83,72,65,75]},{"a":33943,"c":"Verb 80, \"JUMP\"","t":"byte","b":[0,74,85,77,80]},{"a":33948,"c":"Verb entry 81, \"BOUN\", another word for verb 80, \"JUMP\"","t":"byte","b":[42,66,79,85,78]},{"a":33953,"c":"Verb 82, \"DIG\"","t":"byte","b":[0,68,73,71,0]},{"a":33958,"c":"Verb 83, \"LIFT\"","t":"byte","b":[0,76,73,70,84]},{"a":33963,"c":"Verb entry 84, \"PULL\", another word for verb 83, \"LIFT\"","t":"byte","b":[42,80,85,76,76]},{"a":33968,"c":"Verb entry 85, \"MOVE\", another word for verb 83, \"LIFT\"","t":"byte","b":[42,77,79,86,69]},{"a":33973,"c":"Verb entry 86, \"PRY\", another word for verb 83, \"LIFT\"","t":"byte","b":[42,80,82,89,0]},{"a":33978,"c":"Verb 87, \"SLEE\"","t":"byte","b":[0,83,76,69,69]},{"a":33983,"c":"Verb entry 88, \"RELA\", another word for verb 87, \"SLEE\"","t":"byte","b":[42,82,69,76,65]},{"a":33988,"c":"Verb entry 89, \"CALM\", another word for verb 87, \"SLEE\"","t":"byte","b":[42,67,65,76,77]},{"a":33993,"c":"Verb 90, \"USE\"","t":"byte","b":[0,85,83,69,0]},{"a":33998,"c":"Verb entry 91, \"WITH\", another word for verb 90, \"USE\"","t":"byte","b":[42,87,73,84,72]},{"a":34003,"c":"Verb 92, \"UNPL\"","t":"byte","b":[0,85,78,80,76]},{"a":34008,"c":"Verb 93, \"PLUG\"","t":"byte","b":[0,80,76,85,71]},{"a":34013,"c":"Verb entry 94, \"STUF\", another word for verb 93, \"PLUG\"","t":"byte","b":[42,83,84,85,70]},{"a":34018,"c":"Verb entry 95, \"INSE\", another word for verb 93, \"PLUG\"","t":"byte","b":[42,73,78,83,69]},{"a":34023,"c":"Verb entry 96, \"STIC\", another word for verb 93, \"PLUG\"","t":"byte","b":[42,83,84,73,67]},{"a":34028,"c":"Verb entry 97, \"IN\", another word for verb 93, \"PLUG\"","t":"byte","b":[42,73,78,0,0]},{"a":34033,"c":"Verb entry 98, \"INTO\", another word for verb 93, \"PLUG\"","t":"byte","b":[42,73,78,84,79]},{"a":34038,"c":"Verb 99, \"OPEN\"","t":"byte","b":[0,79,80,69,78]},{"a":34043,"c":"Verb 100, \"KILL\"","t":"byte","b":[0,75,73,76,76]},{"a":34048,"c":"Verb entry 101, \"SLAY\", another word for verb 100, \"KILL\"","t":"byte","b":[42,83,76,65,89]},{"a":34053,"c":"Verb 102, \"REME\"","t":"byte","b":[0,82,69,77,69]},{"a":34058,"c":"Verb entry 103, \"REMM\", another word for verb 102, \"REME\"","t":"byte","b":[42,82,69,77,77]},{"a":34063,"c":"Verb 104, \"CLIM\"","t":"byte","b":[0,67,76,73,77]},{"a":34068,"c":"Verb 105, \"WIGG\"","t":"byte","b":[0,87,73,71,71]},{"a":34073,"c":"Verb entry 106, \"DANC\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,68,65,78,67]},{"a":34078,"c":"Verb entry 107, \"CLAP\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,67,76,65,80]},{"a":34083,"c":"Verb entry 108, \"SMIL\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,83,77,73,76]},{"a":34088,"c":"Verb entry 109, \"WAIT\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,87,65,73,84]},{"a":34093,"c":"Verb entry 110, \"LAUG\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,76,65,85,71]},{"a":34098,"c":"Verb entry 111, \"BLOW\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,66,76,79,87]},{"a":34103,"c":"Verb entry 112, \"SMEL\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,83,77,69,76]},{"a":34108,"c":"Verb entry 113, \"LIST\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,76,73,83,84]},{"a":34113,"c":"Verb entry 114, \"FEEL\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,70,69,69,76]},{"a":34118,"c":"Verb entry 115, \"TOUC\", another word for verb 105, \"WIGG\"","t":"byte","b":[42,84,79,85,67]},{"a":34123,"c":"Verb 116, \"\" (the entry stands empty)","t":"byte","b":[0,0,0,0,0]},{"a":34128,"c":"Verb 117, \"STOP\"","t":"byte","b":[0,83,84,79,80]},{"a":34133,"c":"Verb 118, \"BECO\"","t":"byte","b":[0,66,69,67,79]},{"a":34138,"c":"Verb entry 119, \"CHAN\", another word for verb 118, \"BECO\"","t":"byte","b":[42,67,72,65,78]},{"a":34143,"c":"Verb entry 120, \"TRAN\", another word for verb 118, \"BECO\"","t":"byte","b":[42,84,82,65,78]},{"a":34148,"c":"Verb 121, \"UNTI\"","t":"byte","b":[0,85,78,84,73]},{"a":34153,"c":"Verb entry 122, \"CUT\", another word for verb 121, \"UNTI\"","t":"byte","b":[42,67,85,84,0]},{"a":34158,"c":"Verb entry 123, \"SLIC\", another word for verb 121, \"UNTI\"","t":"byte","b":[42,83,76,73,67]},{"a":34163,"c":"Verb 124, \"\" (the entry stands empty)","t":"byte","b":[0,0,0,0,0]},{"a":34168,"c":"Verb 125, \"CLOS\"","t":"byte","b":[0,67,76,79,83]},{"a":34173,"c":"Verb entry 126, \"SHUT\", another word for verb 125, \"CLOS\"","t":"byte","b":[42,83,72,85,84]},{"a":34178,"c":"Verb 127, \"TURN\"","t":"byte","b":[0,84,85,82,78]},{"a":34183,"c":"Verb entry 128, \"TWIS\", another word for verb 127, \"TURN\"","t":"byte","b":[42,84,87,73,83]},{"a":34188,"l":"room_text_00","c":"The texts, each a length byte and that many characters: the rooms' descriptions, then the messages, then the items'. Room 0's description, empty: room 0 is where items that are nowhere are kept","t":"byte","b":[0],"x":[42150]},{"a":34189,"l":"room_text_01","c":"Room 1's description, 46 bytes, \"*I'm Bruce Banner, tied hand & foot to a chair\": the leading * is skipped and drops \"I'm in a \"","t":"byte","b":[46,42,73,39,109,32,66,114],"x":[42152]},{"a":34197,"t":"byte","b":[117,99,101,32,66,97,110,110]},{"a":34205,"t":"byte","b":[101,114,44,32,116,105,101,100]},{"a":34213,"t":"byte","b":[32,104,97,110,100,32,38,32]},{"a":34221,"t":"byte","b":[102,111,111,116,32,116,111,32]},{"a":34229,"t":"byte","b":[97,32,99,104,97,105,114]},{"a":34236,"l":"room_text_02","c":"Room 2's description, 4 bytes, printed after \"I'm in a \": \"dome\"","t":"byte","b":[4,100,111,109,101],"x":[42154]},{"a":34241,"l":"room_text_03","c":"Room 3's description, 20 bytes, printed after \"I'm in a \": \"tunnel going outside\"","t":"byte","b":[20,116,117,110,110,101,108,32],"x":[42156]},{"a":34249,"t":"byte","b":[103,111,105,110,103,32,111,117]},{"a":34257,"t":"byte","b":[116,115,105,100,101]},{"a":34262,"l":"room_text_04","c":"Room 4's description, 5 bytes, printed after \"I'm in a \": \"field\"","t":"byte","b":[5,102,105,101,108,100],"x":[42158]},{"a":34268,"l":"room_text_05","c":"Room 5's description, 16 bytes, printed after \"I'm in a \": \"tunnel going out\"","t":"byte","b":[16,116,117,110,110,101,108,32],"x":[42160]},{"a":34276,"t":"byte","b":[103,111,105,110,103,32,111,117]},{"a":34284,"t":"byte","b":[116]},{"a":34285,"l":"room_text_06","c":"Room 6's description, 16 bytes, printed after \"I'm in a \": \"tunnel going out\"","t":"byte","b":[16,116,117,110,110,101,108,32],"x":[42162]},{"a":34293,"t":"byte","b":[103,111,105,110,103,32,111,117]},{"a":34301,"t":"byte","b":[116]},{"a":34302,"l":"room_text_07","c":"Room 7's description, 5 bytes, printed after \"I'm in a \": \"field\"","t":"byte","b":[5,102,105,101,108,100],"x":[42164]},{"a":34308,"l":"room_text_08","c":"Room 8's description, 5 bytes, printed after \"I'm in a \": \"field\"","t":"byte","b":[5,102,105,101,108,100],"x":[42166]},{"a":34314,"l":"room_text_09","c":"Room 9's description, 4 bytes, printed after \"I'm in a \": \"hole\"","t":"byte","b":[4,104,111,108,101],"x":[42168]},{"a":34319,"l":"room_text_10","c":"Room 10's description, 4 bytes, printed after \"I'm in a \": \"hole\"","t":"byte","b":[4,104,111,108,101],"x":[42170]},{"a":34324,"l":"room_text_11","c":"Room 11's description, 4 bytes, printed after \"I'm in a \": \"hole\"","t":"byte","b":[4,104,111,108,101],"x":[42172]},{"a":34329,"l":"room_text_12","c":"Room 12's description, 6 bytes, printed after \"I'm in a \": \"cavern\"","t":"byte","b":[6,99,97,118,101,114,110],"x":[42174]},{"a":34336,"l":"room_text_13","c":"Room 13's description, 4 bytes, printed after \"I'm in a \": \"dome\"","t":"byte","b":[4,100,111,109,101],"x":[42176]},{"a":34341,"l":"room_text_14","c":"Room 14's description, 4 bytes, printed after \"I'm in a \": \"dome\"","t":"byte","b":[4,100,111,109,101],"x":[42178]},{"a":34346,"l":"room_text_15","c":"Room 15's description, 22 bytes, printed after \"I'm in a \": \"small underground room\"","t":"byte","b":[22,115,109,97,108,108,32,117],"x":[42180]},{"a":34354,"t":"byte","b":[110,100,101,114,103,114,111,117]},{"a":34362,"t":"byte","b":[110,100,32,114,111,111,109]},{"a":34369,"l":"room_text_16","c":"Room 16's description, 10 bytes, printed after \"I'm in a \": \"fuzzy area\"","t":"byte","b":[10,102,117,122,122,121,32,97],"x":[42182]},{"a":34377,"t":"byte","b":[114,101,97]},{"a":34380,"l":"room_text_17","c":"Room 17's description, 4 bytes, printed after \"I'm in a \": \"warp\"","t":"byte","b":[4,119,97,114,112],"x":[42184]},{"a":34385,"l":"room_text_18","c":"Room 18's description, 4 bytes, printed after \"I'm in a \": \"warp\"","t":"byte","b":[4,119,97,114,112],"x":[42186]},{"a":34390,"l":"room_text_19","c":"Room 19's description, 72 bytes, printed after \"I'm in a \": \"room with the Chief Examiner working(newline)behind a desk, he doesn't notice me\"","t":"byte","b":[72,114,111,111,109,32,119,105],"x":[42188]},{"a":34398,"t":"byte","b":[116,104,32,116,104,101,32,67]},{"a":34406,"t":"byte","b":[104,105,101,102,32,69,120,97]},{"a":34414,"t":"byte","b":[109,105,110,101,114,32,119,111]},{"a":34422,"t":"byte","b":[114,107,105,110,103,10,98,101]},{"a":34430,"t":"byte","b":[104,105,110,100,32,97,32,100]},{"a":34438,"t":"byte","b":[101,115,107,44,32,104,101,32]},{"a":34446,"t":"byte","b":[100,111,101,115,110,39,116,32]},{"a":34454,"t":"byte","b":[110,111,116,105,99,101,32,109]},{"a":34462,"t":"byte","b":[101]},{"a":34463,"l":"room_text_20","c":"Room 20's description, 14 bytes, printed after \"I'm in a \": \"state of limbo\"","t":"byte","b":[14,115,116,97,116,101,32,111],"x":[42190]},{"a":34471,"t":"byte","b":[102,32,108,105,109,98,111]},{"a":34478,"l":"message_00","c":"Message 0, empty","t":"byte","b":[0],"x":[42444]},{"a":34479,"l":"message_01","c":"Message 1, 4 bytes: \"O.K.\"","t":"byte","b":[4,79,46,75,46],"x":[42446]},{"a":34484,"l":"message_02","c":"Message 2, 5 bytes: \"I see\"","t":"byte","b":[5,73,32,115,101,101],"x":[42448]},{"a":34490,"l":"message_03","c":"Message 3, 7 bytes: \"Nothing\"","t":"byte","b":[7,78,111,116,104,105,110,103],"x":[42450]},{"a":34498,"l":"message_04","c":"Message 4, 7 bytes: \"special\"","t":"byte","b":[7,115,112,101,99,105,97,108],"x":[42452]},{"a":34506,"l":"message_05","c":"Message 5, 9 bytes: \"something\"","t":"byte","b":[9,115,111,109,101,116,104,105],"x":[42454]},{"a":34514,"t":"byte","b":[110,103]},{"a":34516,"l":"message_06","c":"Message 6, 6 bytes: \"Sorry,\"","t":"byte","b":[6,83,111,114,114,121,44],"x":[42456]},{"a":34523,"l":"message_07","c":"Message 7, 1 bytes: \"I\"","t":"byte","b":[1,73],"x":[42458]},{"a":34525,"l":"message_08","c":"Message 8, 13 bytes: \"can't do that\"","t":"byte","b":[13,99,97,110,39,116,32,100],"x":[42460]},{"a":34533,"t":"byte","b":[111,32,116,104,97,116]},{"a":34539,"l":"message_09","c":"Message 9, 4 bytes: \"How?\"","t":"byte","b":[4,72,111,119,63],"x":[42462]},{"a":34544,"l":"message_10","c":"Message 10, 24 bytes: \"The Incredible Hulk (Tm)\"","t":"byte","b":[24,84,104,101,32,73,110,99],"x":[42464]},{"a":34552,"t":"byte","b":[114,101,100,105,98,108,101,32]},{"a":34560,"t":"byte","b":[72,117,108,107,32,40,84,109]},{"a":34568,"t":"byte","b":[41]},{"a":34569,"l":"message_11","c":"Message 11, 223 bytes: \"Scott Adams presents Marvel Adventure #1 by Scott Adams(newline)with Art by John Romita Sr, Mark Gruenwald & Kem McNair.(newline)Series outline by Scott Adams and John Byrne & Bob Budiansky.(newline)Dedicated: Stan Lee, My wife Alexis & CIS CBers!\"","t":"byte","b":[223,83,99,111,116,116,32,65],"x":[42466]},{"a":34577,"t":"byte","b":[100,97,109,115,32,112,114,101]},{"a":34585,"t":"byte","b":[115,101,110,116,115,32,77,97]},{"a":34593,"t":"byte","b":[114,118,101,108,32,65,100,118]},{"a":34601,"t":"byte","b":[101,110,116,117,114,101,32,35]},{"a":34609,"t":"byte","b":[49,32,98,121,32,83,99,111]},{"a":34617,"t":"byte","b":[116,116,32,65,100,97,109,115]},{"a":34625,"t":"byte","b":[10,119,105,116,104,32,65,114]},{"a":34633,"t":"byte","b":[116,32,98,121,32,74,111,104]},{"a":34641,"t":"byte","b":[110,32,82,111,109,105,116,97]},{"a":34649,"t":"byte","b":[32,83,114,44,32,77,97,114]},{"a":34657,"t":"byte","b":[107,32,71,114,117,101,110,119]},{"a":34665,"t":"byte","b":[97,108,100,32,38,32,75,101]},{"a":34673,"t":"byte","b":[109,32,77,99,78,97,105,114]},{"a":34681,"t":"byte","b":[46,10,83,101,114,105,101,115]},{"a":34689,"t":"byte","b":[32,111,117,116,108,105,110,101]},{"a":34697,"t":"byte","b":[32,98,121,32,83,99,111,116]},{"a":34705,"t":"byte","b":[116,32,65,100,97,109,115,32]},{"a":34713,"t":"byte","b":[97,110,100,32,74,111,104,110]},{"a":34721,"t":"byte","b":[32,66,121,114,110,101,32,38]},{"a":34729,"t":"byte","b":[32,66,111,98,32,66,117,100]},{"a":34737,"t":"byte","b":[105,97,110,115,107,121,46,10]},{"a":34745,"t":"byte","b":[68,101,100,105,99,97,116,101]},{"a":34753,"t":"byte","b":[100,58,32,83,116,97,110,32]},{"a":34761,"t":"byte","b":[76,101,101,44,32,77,121,32]},{"a":34769,"t":"byte","b":[119,105,102,101,32,65,108,101]},{"a":34777,"t":"byte","b":[120,105,115,32,38,32,67,73]},{"a":34785,"t":"byte","b":[83,32,67,66,101,114,115,33]},{"a":34793,"l":"message_12","c":"Message 12, 12 bytes: \"Bruce Banner\"","t":"byte","b":[12,66,114,117,99,101,32,66],"x":[42468]},{"a":34801,"t":"byte","b":[97,110,110,101,114]},{"a":34806,"l":"message_13","c":"Message 13, 13 bytes: \"High Gravity!\"","t":"byte","b":[13,72,105,103,104,32,71,114],"x":[42470]},{"a":34814,"t":"byte","b":[97,118,105,116,121,33]},{"a":34820,"l":"message_14","c":"Message 14, 8 bytes: \"crushed!\"","t":"byte","b":[8,99,114,117,115,104,101,100],"x":[42472]},{"a":34828,"t":"byte","b":[33]},{"a":34829,"l":"message_15","c":"Message 15, 4 bytes: \"very\"","t":"byte","b":[4,118,101,114,121],"x":[42474]},{"a":34834,"l":"message_16","c":"Message 16, 5 bytes: \"mad.(newline)\"","t":"byte","b":[5,109,97,100,46,10],"x":[42476]},{"a":34840,"l":"message_17","c":"Message 17, 6 bytes: \"who is\"","t":"byte","b":[6,119,104,111,32,105,115],"x":[42478]},{"a":34847,"l":"message_18","c":"Message 18, 3 bytes: \"I'm\"","t":"byte","b":[3,73,39,109],"x":[42480]},{"a":34851,"l":"message_19","c":"Message 19, 42 bytes: \"(newline)Some gas fills room & permeates my skin!(newline)\"","t":"byte","b":[42,10,83,111,109,101,32,103],"x":[42482]},{"a":34859,"t":"byte","b":[97,115,32,102,105,108,108,115]},{"a":34867,"t":"byte","b":[32,114,111,111,109,32,38,32]},{"a":34875,"t":"byte","b":[112,101,114,109,101,97,116,101]},{"a":34883,"t":"byte","b":[115,32,109,121,32,115,107,105]},{"a":34891,"t":"byte","b":[110,33,10]},{"a":34894,"l":"message_20","c":"Message 20, 16 bytes: \"Ouch! I scream!(newline)\"","t":"byte","b":[16,79,117,99,104,33,32,73],"x":[42484]},{"a":34902,"t":"byte","b":[32,115,99,114,101,97,109,33]},{"a":34910,"t":"byte","b":[10]},{"a":34911,"l":"message_21","c":"Message 21, 13 bytes: \"Rope Breaks!(newline)\"","t":"byte","b":[13,82,111,112,101,32,66,114],"x":[42486]},{"a":34919,"t":"byte","b":[101,97,107,115,33,10]},{"a":34925,"l":"message_22","c":"Message 22, 5 bytes: \"now!(newline)\"","t":"byte","b":[5,110,111,119,33,10],"x":[42488]},{"a":34931,"l":"message_23","c":"Message 23, 8 bytes: \"happens.\"","t":"byte","b":[8,104,97,112,112,101,110,115],"x":[42490]},{"a":34939,"t":"byte","b":[46]},{"a":34940,"l":"message_24","c":"Message 24, 12 bytes: \"won't budge!\"","t":"byte","b":[12,119,111,110,39,116,32,98],"x":[42492]},{"a":34948,"t":"byte","b":[117,100,103,101,33]},{"a":34953,"l":"message_25","c":"Message 25, 4 bytes: \"feel\"","t":"byte","b":[4,102,101,101,108],"x":[42494]},{"a":34958,"l":"message_26","c":"Message 26, 17 bytes: \"fall & hit head!(newline)\"","t":"byte","b":[17,102,97,108,108,32,38,32],"x":[42496]},{"a":34966,"t":"byte","b":[104,105,116,32,104,101,97,100]},{"a":34974,"t":"byte","b":[33,10]},{"a":34976,"l":"message_27","c":"Message 27, 22 bytes: \"Warning Hi Grav Ahead!\"","t":"byte","b":[22,87,97,114,110,105,110,103],"x":[42498]},{"a":34984,"t":"byte","b":[32,72,105,32,71,114,97,118]},{"a":34992,"t":"byte","b":[32,65,104,101,97,100,33]},{"a":34999,"l":"message_28","c":"Message 28, 5 bytes: \"here.\"","t":"byte","b":[5,104,101,114,101,46],"x":[42500]},{"a":35005,"l":"message_29","c":"Message 29, 17 bytes: \"hits molten core!\"","t":"byte","b":[17,104,105,116,115,32,109,111],"x":[42502]},{"a":35013,"t":"byte","b":[108,116,101,110,32,99,111,114]},{"a":35021,"t":"byte","b":[101,33]},{"a":35023,"l":"message_30","c":"Message 30, 4 bytes: \"it's\"","t":"byte","b":[4,105,116,39,115],"x":[42504]},{"a":35028,"l":"message_31","c":"Message 31, 16 bytes: \"Egg explodes ...\"","t":"byte","b":[16,69,103,103,32,101,120,112],"x":[42506]},{"a":35036,"t":"byte","b":[108,111,100,101,115,32,46,46]},{"a":35044,"t":"byte","b":[46]},{"a":35045,"l":"message_32","c":"Message 32, 5 bytes: \"(newline)Ants\"","t":"byte","b":[5,10,65,110,116,115],"x":[42508]},{"a":35051,"l":"message_33","c":"Message 33, 5 bytes: \"eyes.\"","t":"byte","b":[5,101,121,101,115,46],"x":[42510]},{"a":35057,"l":"message_34","c":"Message 34, 5 bytes: \"ears.\"","t":"byte","b":[5,101,97,114,115,46],"x":[42512]},{"a":35063,"l":"message_35","c":"Message 35, 5 bytes: \"nose.\"","t":"byte","b":[5,110,111,115,101,46],"x":[42514]},{"a":35069,"l":"message_36","c":"Message 36, 20 bytes: \"but find no opening.\"","t":"byte","b":[20,98,117,116,32,102,105,110],"x":[42516]},{"a":35077,"t":"byte","b":[100,32,110,111,32,111,112,101]},{"a":35085,"t":"byte","b":[110,105,110,103,46]},{"a":35090,"l":"message_37","c":"Message 37, 16 bytes: \"swarm from holes\"","t":"byte","b":[16,115,119,97,114,109,32,102],"x":[42518]},{"a":35098,"t":"byte","b":[114,111,109,32,104,111,108,101]},{"a":35106,"t":"byte","b":[115]},{"a":35107,"l":"message_38","c":"Message 38, 6 bytes: \"attack\"","t":"byte","b":[6,97,116,116,97,99,107],"x":[42520]},{"a":35114,"l":"message_39","c":"Message 39, 10 bytes: \"With what?\"","t":"byte","b":[10,87,105,116,104,32,119,104],"x":[42522]},{"a":35122,"t":"byte","b":[97,116,63]},{"a":35125,"l":"message_40","c":"Message 40, 17 bytes: \"Use 2 words like:\"","t":"byte","b":[17,85,115,101,32,50,32,119],"x":[42524]},{"a":35133,"t":"byte","b":[111,114,100,115,32,108,105,107]},{"a":35141,"t":"byte","b":[101,58]},{"a":35143,"l":"message_41","c":"Message 41, 21 bytes: \"Say again but tell me\"","t":"byte","b":[21,83,97,121,32,97,103,97],"x":[42526]},{"a":35151,"t":"byte","b":[105,110,32,98,117,116,32,116]},{"a":35159,"t":"byte","b":[101,108,108,32,109,101]},{"a":35165,"l":"message_42","c":"Message 42, 6 bytes: \"where?\"","t":"byte","b":[6,119,104,101,114,101,63],"x":[42528]},{"a":35172,"l":"message_43","c":"Message 43, 8 bytes: \"Too big!\"","t":"byte","b":[8,84,111,111,32,98,105,103],"x":[42530]},{"a":35180,"t":"byte","b":[33]},{"a":35181,"l":"message_44","c":"Message 44, 13 bytes: \"Doesn't work!\"","t":"byte","b":[13,68,111,101,115,110,39,116],"x":[42532]},{"a":35189,"t":"byte","b":[32,119,111,114,107,33]},{"a":35195,"l":"message_45","c":"Message 45, 4 bytes: \"more\"","t":"byte","b":[4,109,111,114,101],"x":[42534]},{"a":35200,"l":"message_46","c":"Message 46, 8 bytes: \"at what?\"","t":"byte","b":[8,97,116,32,119,104,97,116],"x":[42536]},{"a":35208,"t":"byte","b":[63]},{"a":35209,"l":"message_47","c":"Message 47, 7 bytes: \"USE GEM\"","t":"byte","b":[7,85,83,69,32,71,69,77],"x":[42538]},{"a":35217,"l":"message_48","c":"Message 48, 7 bytes: \"AT TREE\"","t":"byte","b":[7,65,84,32,84,82,69,69],"x":[42540]},{"a":35225,"l":"message_49","c":"Message 49, 20 bytes: \"I send a gale at it!\"","t":"byte","b":[20,73,32,115,101,110,100,32],"x":[42542]},{"a":35233,"t":"byte","b":[97,32,103,97,108,101,32,97]},{"a":35241,"t":"byte","b":[116,32,105,116,33]},{"a":35246,"l":"message_50","c":"Message 50, 7 bytes: \"outside\"","t":"byte","b":[7,111,117,116,115,105,100,101],"x":[42544]},{"a":35254,"l":"message_51","c":"Message 51, 10 bytes: \"I'm stung!\"","t":"byte","b":[10,73,39,109,32,115,116,117],"x":[42546]},{"a":35262,"t":"byte","b":[110,103,33]},{"a":35265,"l":"message_52","c":"Message 52, 31 bytes: \"Dr Strange points to baseboard.\"","t":"byte","b":[31,68,114,32,83,116,114,97],"x":[42548]},{"a":35273,"t":"byte","b":[110,103,101,32,112,111,105,110]},{"a":35281,"t":"byte","b":[116,115,32,116,111,32,98,97]},{"a":35289,"t":"byte","b":[115,101,98,111,97,114,100,46]},{"a":35297,"l":"message_53","c":"Message 53, 25 bytes: \"you're doing my thinking!\"","t":"byte","b":[25,121,111,117,39,114,101,32],"x":[42550]},{"a":35305,"t":"byte","b":[100,111,105,110,103,32,109,121]},{"a":35313,"t":"byte","b":[32,116,104,105,110,107,105,110]},{"a":35321,"t":"byte","b":[103,33]},{"a":35323,"l":"message_54","c":"Message 54, 13 bytes: \"Strange says:\"","t":"byte","b":[13,83,116,114,97,110,103,101],"x":[42552]},{"a":35331,"t":"byte","b":[32,115,97,121,115,58]},{"a":35337,"l":"message_55","c":"Message 55, 37 bytes: \"\"Remember your worst enemy NIGHTMARE\"\"","t":"byte","b":[37,34,82,101,109,101,109,98],"x":[42554]},{"a":35345,"t":"byte","b":[101,114,32,121,111,117,114,32]},{"a":35353,"t":"byte","b":[119,111,114,115,116,32,101,110]},{"a":35361,"t":"byte","b":[101,109,121,32,78,73,71,72]},{"a":35369,"t":"byte","b":[84,77,65,82,69,34]},{"a":35375,"l":"message_56","c":"Message 56, 38 bytes: \"Arcane energies blaze and he vanishes!\"","t":"byte","b":[38,65,114,99,97,110,101,32],"x":[42556]},{"a":35383,"t":"byte","b":[101,110,101,114,103,105,101,115]},{"a":35391,"t":"byte","b":[32,98,108,97,122,101,32,97]},{"a":35399,"t":"byte","b":[110,100,32,104,101,32,118,97]},{"a":35407,"t":"byte","b":[110,105,115,104,101,115,33]},{"a":35414,"l":"message_57","c":"Message 57, 13 bytes: \"is no vandal!\"","t":"byte","b":[13,105,115,32,110,111,32,118],"x":[42558]},{"a":35422,"t":"byte","b":[97,110,100,97,108,33]},{"a":35428,"l":"message_58","c":"Message 58, 18 bytes: \"Voice says: \"Delay\"","t":"byte","b":[18,86,111,105,99,101,32,115],"x":[42560]},{"a":35436,"t":"byte","b":[97,121,115,58,32,34,68,101]},{"a":35444,"t":"byte","b":[108,97,121]},{"a":35447,"l":"message_59","c":"Message 59, 3 bytes: \"on\"\"","t":"byte","b":[3,111,110,34],"x":[42562]},{"a":35451,"l":"message_60","c":"Message 60, 4 bytes: \"off\"\"","t":"byte","b":[4,111,102,102,34],"x":[42564]},{"a":35456,"l":"message_61","c":"Message 61, 77 bytes: \"\"Look for Scott's next Marvel Adventure at your(newline)favorite store!\" - Nuff said.\"","t":"byte","b":[77,34,76,111,111,107,32,102],"x":[42566]},{"a":35464,"t":"byte","b":[111,114,32,83,99,111,116,116]},{"a":35472,"t":"byte","b":[39,115,32,110,101,120,116,32]},{"a":35480,"t":"byte","b":[77,97,114,118,101,108,32,65]},{"a":35488,"t":"byte","b":[100,118,101,110,116,117,114,101]},{"a":35496,"t":"byte","b":[32,97,116,32,121,111,117,114]},{"a":35504,"t":"byte","b":[10,102,97,118,111,114,105,116]},{"a":35512,"t":"byte","b":[101,32,115,116,111,114,101,33]},{"a":35520,"t":"byte","b":[34,32,45,32,78,117,102,102]},{"a":35528,"t":"byte","b":[32,115,97,105,100,46]},{"a":35534,"l":"message_62","c":"Message 62, 8 bytes: \"Wave it!\"","t":"byte","b":[8,87,97,118,101,32,105,116],"x":[42568]},{"a":35542,"t":"byte","b":[33]},{"a":35543,"l":"message_63","c":"Message 63, 23 bytes: \"leave gems here: SCORE.\"","t":"byte","b":[23,108,101,97,118,101,32,103],"x":[42570]},{"a":35551,"t":"byte","b":[101,109,115,32,104,101,114,101]},{"a":35559,"t":"byte","b":[58,32,83,67,79,82,69,46]},{"a":35567,"l":"message_64","c":"Message 64, 17 bytes: \"it's just a hole.\"","t":"byte","b":[17,105,116,39,115,32,106,117],"x":[42572]},{"a":35575,"t":"byte","b":[115,116,32,97,32,104,111,108]},{"a":35583,"t":"byte","b":[101,46]},{"a":35585,"l":"message_65","c":"Message 65, 16 bytes: \"no moving parts.\"","t":"byte","b":[16,110,111,32,109,111,118,105],"x":[42574]},{"a":35593,"t":"byte","b":[110,103,32,112,97,114,116,115]},{"a":35601,"t":"byte","b":[46]},{"a":35602,"l":"message_66","c":"Message 66, 10 bytes: \"none here!\"","t":"byte","b":[10,110,111,110,101,32,104,101],"x":[42576]},{"a":35610,"t":"byte","b":[114,101,33]},{"a":35613,"l":"message_67","c":"Message 67, 21 bytes: \"space is warped here!\"","t":"byte","b":[21,115,112,97,99,101,32,105],"x":[42578]},{"a":35621,"t":"byte","b":[115,32,119,97,114,112,101,100]},{"a":35629,"t":"byte","b":[32,104,101,114,101,33]},{"a":35635,"l":"message_68","c":"Message 68, 18 bytes: \"\"That's not nice!\"\"","t":"byte","b":[18,34,84,104,97,116,39,115],"x":[42580]},{"a":35643,"t":"byte","b":[32,110,111,116,32,110,105,99]},{"a":35651,"t":"byte","b":[101,33,34]},{"a":35654,"l":"message_69","c":"Message 69, 13 bytes: \"Egg pulsates!\"","t":"byte","b":[13,69,103,103,32,112,117,108],"x":[42582]},{"a":35662,"t":"byte","b":[115,97,116,101,115,33]},{"a":35668,"l":"message_70","c":"Message 70, 27 bytes: \"it's alive & moving around!\"","t":"byte","b":[27,105,116,39,115,32,97,108],"x":[42584]},{"a":35676,"t":"byte","b":[105,118,101,32,38,32,109,111]},{"a":35684,"t":"byte","b":[118,105,110,103,32,97,114,111]},{"a":35692,"t":"byte","b":[117,110,100,33]},{"a":35696,"l":"message_71","c":"Message 71, 11 bytes: \"slide down.\"","t":"byte","b":[11,115,108,105,100,101,32,100],"x":[42586]},{"a":35704,"t":"byte","b":[111,119,110,46]},{"a":35708,"l":"message_72","c":"Message 72, 13 bytes: \"Getting warm!\"","t":"byte","b":[13,71,101,116,116,105,110,103],"x":[42588]},{"a":35716,"t":"byte","b":[32,119,97,114,109,33]},{"a":35722,"l":"message_73","c":"Message 73, 26 bytes: \"won't fit in my inventory.\"","t":"byte","b":[26,119,111,110,39,116,32,102],"x":[42590]},{"a":35730,"t":"byte","b":[105,116,32,105,110,32,109,121]},{"a":35738,"t":"byte","b":[32,105,110,118,101,110,116,111]},{"a":35746,"t":"byte","b":[114,121,46]},{"a":35749,"l":"message_74","c":"Message 74, 29 bytes: \"wall has scratch marks on it.\"","t":"byte","b":[29,119,97,108,108,32,104,97],"x":[42592]},{"a":35757,"t":"byte","b":[115,32,115,99,114,97,116,99]},{"a":35765,"t":"byte","b":[104,32,109,97,114,107,115,32]},{"a":35773,"t":"byte","b":[111,110,32,105,116,46]},{"a":35779,"l":"message_75","c":"Message 75, 9 bytes: \"too weak!\"","t":"byte","b":[9,116,111,111,32,119,101,97],"x":[42594]},{"a":35787,"t":"byte","b":[107,33]},{"a":35789,"l":"message_76","c":"Message 76, 75 bytes: \"\"Bad move, please be more careful! Now try again!\"(newline)- signed Chief Examiner.\"","t":"byte","b":[75,34,66,97,100,32,109,111],"x":[42596]},{"a":35797,"t":"byte","b":[118,101,44,32,112,108,101,97]},{"a":35805,"t":"byte","b":[115,101,32,98,101,32,109,111]},{"a":35813,"t":"byte","b":[114,101,32,99,97,114,101,102]},{"a":35821,"t":"byte","b":[117,108,33,32,78,111,119,32]},{"a":35829,"t":"byte","b":[116,114,121,32,97,103,97,105]},{"a":35837,"t":"byte","b":[110,33,34,10,45,32,115,105]},{"a":35845,"t":"byte","b":[103,110,101,100,32,67,104,105]},{"a":35853,"t":"byte","b":[101,102,32,69,120,97,109,105]},{"a":35861,"t":"byte","b":[110,101,114,46]},{"a":35865,"l":"message_77","c":"Message 77, 21 bytes: \"I make a tiny breeze.\"","t":"byte","b":[21,73,32,109,97,107,101,32],"x":[42598]},{"a":35873,"t":"byte","b":[97,32,116,105,110,121,32,98]},{"a":35881,"t":"byte","b":[114,101,101,122,101,46]},{"a":35887,"l":"message_78","c":"Message 78, 41 bytes: \"You've lost control... Hulk rampages off!\"","t":"byte","b":[41,89,111,117,39,118,101,32],"x":[42600]},{"a":35895,"t":"byte","b":[108,111,115,116,32,99,111,110]},{"a":35903,"t":"byte","b":[116,114,111,108,46,46,46,32]},{"a":35911,"t":"byte","b":[72,117,108,107,32,114,97,109]},{"a":35919,"t":"byte","b":[112,97,103,101,115,32,111,102]},{"a":35927,"t":"byte","b":[102,33]},{"a":35929,"l":"message_79","c":"Message 79, 9 bytes: \"too many.\"","t":"byte","b":[9,116,111,111,32,109,97,110],"x":[42602]},{"a":35937,"t":"byte","b":[121,46]},{"a":35939,"l":"message_80","c":"Message 80, 22 bytes: \"wire mesh in the side.\"","t":"byte","b":[22,119,105,114,101,32,109,101],"x":[42604]},{"a":35947,"t":"byte","b":[115,104,32,105,110,32,116,104]},{"a":35955,"t":"byte","b":[101,32,115,105,100,101,46]},{"a":35962,"l":"message_81","c":"Message 81, 16 bytes: \"inside the dome.\"","t":"byte","b":[16,105,110,115,105,100,101,32],"x":[42606]},{"a":35970,"t":"byte","b":[116,104,101,32,100,111,109,101]},{"a":35978,"t":"byte","b":[46]},{"a":35979,"l":"message_82","c":"Message 82, 13 bytes: \"not that mad!\"","t":"byte","b":[13,110,111,116,32,116,104,97],"x":[42608]},{"a":35987,"t":"byte","b":[116,32,109,97,100,33]},{"a":35993,"l":"message_83","c":"Message 83, 29 bytes: \"(newline)Poison nerve gas fills room.\"","t":"byte","b":[29,10,80,111,105,115,111,110],"x":[42610]},{"a":36001,"t":"byte","b":[32,110,101,114,118,101,32,103]},{"a":36009,"t":"byte","b":[97,115,32,102,105,108,108,115]},{"a":36017,"t":"byte","b":[32,114,111,111,109,46]},{"a":36023,"l":"message_84","c":"Message 84, 59 bytes: \"Chief Examiner appears & says:(newline)\"Save this password: ARIA\".(newline)\"","t":"byte","b":[59,67,104,105,101,102,32,69],"x":[42612]},{"a":36031,"t":"byte","b":[120,97,109,105,110,101,114,32]},{"a":36039,"t":"byte","b":[97,112,112,101,97,114,115,32]},{"a":36047,"t":"byte","b":[38,32,115,97,121,115,58,10]},{"a":36055,"t":"byte","b":[34,83,97,118,101,32,116,104]},{"a":36063,"t":"byte","b":[105,115,32,112,97,115,115,119]},{"a":36071,"t":"byte","b":[111,114,100,58,32,65,82,73]},{"a":36079,"t":"byte","b":[65,34,46,10]},{"a":36083,"l":"message_85","c":"Message 85, 14 bytes: \"Ant-Man in it!\"","t":"byte","b":[14,65,110,116,45,77,97,110],"x":[42614]},{"a":36091,"t":"byte","b":[32,105,110,32,105,116,33]},{"a":36098,"l":"message_86","c":"Message 86, 31 bytes: \"ULTRON's pressor beams stop me!\"","t":"byte","b":[31,85,76,84,82,79,78,39],"x":[42616]},{"a":36106,"t":"byte","b":[115,32,112,114,101,115,115,111]},{"a":36114,"t":"byte","b":[114,32,98,101,97,109,115,32]},{"a":36122,"t":"byte","b":[115,116,111,112,32,109,101,33]},{"a":36130,"l":"message_87","c":"Message 87, 82 bytes: \"Ant-Man controlled ants sneak up on Ultron(newline)then free Ant-Man! He leaves something.\"","t":"byte","b":[82,65,110,116,45,77,97,110],"x":[42618]},{"a":36138,"t":"byte","b":[32,99,111,110,116,114,111,108]},{"a":36146,"t":"byte","b":[108,101,100,32,97,110,116,115]},{"a":36154,"t":"byte","b":[32,115,110,101,97,107,32,117]},{"a":36162,"t":"byte","b":[112,32,111,110,32,85,108,116]},{"a":36170,"t":"byte","b":[114,111,110,10,116,104,101,110]},{"a":36178,"t":"byte","b":[32,102,114,101,101,32,65,110]},{"a":36186,"t":"byte","b":[116,45,77,97,110,33,32,72]},{"a":36194,"t":"byte","b":[101,32,108,101,97,118,101,115]},{"a":36202,"t":"byte","b":[32,115,111,109,101,116,104,105]},{"a":36210,"t":"byte","b":[110,103,46]},{"a":36213,"l":"message_88","c":"Message 88, 42 bytes: \"Ant-Man says: \"Help me! Bring my friends!\"\"","t":"byte","b":[42,65,110,116,45,77,97,110],"x":[42620]},{"a":36221,"t":"byte","b":[32,115,97,121,115,58,32,34]},{"a":36229,"t":"byte","b":[72,101,108,112,32,109,101,33]},{"a":36237,"t":"byte","b":[32,66,114,105,110,103,32,109]},{"a":36245,"t":"byte","b":[121,32,102,114,105,101,110,100]},{"a":36253,"t":"byte","b":[115,33,34]},{"a":36256,"l":"message_89","c":"Message 89, 12 bytes: \"Ants ate it!\"","t":"byte","b":[12,65,110,116,115,32,97,116],"x":[42622]},{"a":36264,"t":"byte","b":[101,32,105,116,33]},{"a":36269,"l":"message_90","c":"Message 90, 122 bytes: \"Chief Examiner notices me & says:(newline)\"How did you get out of the Computer? I'm not ready for you(newline)yet! No matter...  BEGONE!\"(newline)\"","t":"byte","b":[122,67,104,105,101,102,32,69],"x":[42624]},{"a":36277,"t":"byte","b":[120,97,109,105,110,101,114,32]},{"a":36285,"t":"byte","b":[110,111,116,105,99,101,115,32]},{"a":36293,"t":"byte","b":[109,101,32,38,32,115,97,121]},{"a":36301,"t":"byte","b":[115,58,10,34,72,111,119,32]},{"a":36309,"t":"byte","b":[100,105,100,32,121,111,117,32]},{"a":36317,"t":"byte","b":[103,101,116,32,111,117,116,32]},{"a":36325,"t":"byte","b":[111,102,32,116,104,101,32,67]},{"a":36333,"t":"byte","b":[111,109,112,117,116,101,114,63]},{"a":36341,"t":"byte","b":[32,73,39,109,32,110,111,116]},{"a":36349,"t":"byte","b":[32,114,101,97,100,121,32,102]},{"a":36357,"t":"byte","b":[111,114,32,121,111,117,10,121]},{"a":36365,"t":"byte","b":[101,116,33,32,78,111,32,109]},{"a":36373,"t":"byte","b":[97,116,116,101,114,46,46,46]},{"a":36381,"t":"byte","b":[32,32,66,69,71,79,78,69]},{"a":36389,"t":"byte","b":[33,34,10]},{"a":36392,"l":"message_91","c":"Message 91, 60 bytes: \"(newline)But ask for a Scott Adams Hint Book at your favorite store!\"","t":"byte","b":[60,10,66,117,116,32,97,115],"x":[42626]},{"a":36400,"t":"byte","b":[107,32,102,111,114,32,97,32]},{"a":36408,"t":"byte","b":[83,99,111,116,116,32,65,100]},{"a":36416,"t":"byte","b":[97,109,115,32,72,105,110,116]},{"a":36424,"t":"byte","b":[32,66,111,111,107,32,97,116]},{"a":36432,"t":"byte","b":[32,121,111,117,114,32,102,97]},{"a":36440,"t":"byte","b":[118,111,114,105,116,101,32,115]},{"a":36448,"t":"byte","b":[116,111,114,101,33]},{"a":36453,"l":"message_92","c":"Message 92, 32 bytes: \"He's writing a computer program!\"","t":"byte","b":[32,72,101,39,115,32,119,114],"x":[42628]},{"a":36461,"t":"byte","b":[105,116,105,110,103,32,97,32]},{"a":36469,"t":"byte","b":[99,111,109,112,117,116,101,114]},{"a":36477,"t":"byte","b":[32,112,114,111,103,114,97,109]},{"a":36485,"t":"byte","b":[33]},{"a":36486,"l":"message_93","c":"Message 93, 43 bytes: \"it's the next Scott Adams Marvel Adventure!\"","t":"byte","b":[43,105,116,39,115,32,116,104],"x":[42630]},{"a":36494,"t":"byte","b":[101,32,110,101,120,116,32,83]},{"a":36502,"t":"byte","b":[99,111,116,116,32,65,100,97]},{"a":36510,"t":"byte","b":[109,115,32,77,97,114,118,101]},{"a":36518,"t":"byte","b":[108,32,65,100,118,101,110,116]},{"a":36526,"t":"byte","b":[117,114,101,33]},{"a":36530,"l":"message_94","c":"Message 94, 15 bytes: \"Try: ENTER DOME\"","t":"byte","b":[15,84,114,121,58,32,69,78],"x":[42632]},{"a":36538,"t":"byte","b":[84,69,82,32,68,79,77,69]},{"a":36546,"l":"message_95","c":"Message 95, 39 bytes: \"it's size of a chicken egg but glowing!\"","t":"byte","b":[39,105,116,39,115,32,115,105],"x":[42634]},{"a":36554,"t":"byte","b":[122,101,32,111,102,32,97,32]},{"a":36562,"t":"byte","b":[99,104,105,99,107,101,110,32]},{"a":36570,"t":"byte","b":[101,103,103,32,98,117,116,32]},{"a":36578,"t":"byte","b":[103,108,111,119,105,110,103,33]},{"a":36586,"l":"message_96","c":"Message 96, 71 bytes: \"ULTRON says:\"Stay back! You'll never free my creator from my(newline)clutches!\"\"","t":"byte","b":[71,85,76,84,82,79,78,32],"x":[42636]},{"a":36594,"t":"byte","b":[115,97,121,115,58,34,83,116]},{"a":36602,"t":"byte","b":[97,121,32,98,97,99,107,33]},{"a":36610,"t":"byte","b":[32,89,111,117,39,108,108,32]},{"a":36618,"t":"byte","b":[110,101,118,101,114,32,102,114]},{"a":36626,"t":"byte","b":[101,101,32,109,121,32,99,114]},{"a":36634,"t":"byte","b":[101,97,116,111,114,32,102,114]},{"a":36642,"t":"byte","b":[111,109,32,109,121,10,99,108]},{"a":36650,"t":"byte","b":[117,116,99,104,101,115,33,34]},{"a":36658,"l":"message_97","c":"Message 97, 84 bytes: \"This computer model has been created so that you will learn(newline)to perform as the HULK!(newline)\"","t":"byte","b":[84,84,104,105,115,32,99,111],"x":[42638]},{"a":36666,"t":"byte","b":[109,112,117,116,101,114,32,109]},{"a":36674,"t":"byte","b":[111,100,101,108,32,104,97,115]},{"a":36682,"t":"byte","b":[32,98,101,101,110,32,99,114]},{"a":36690,"t":"byte","b":[101,97,116,101,100,32,115,111]},{"a":36698,"t":"byte","b":[32,116,104,97,116,32,121,111]},{"a":36706,"t":"byte","b":[117,32,119,105,108,108,32,108]},{"a":36714,"t":"byte","b":[101,97,114,110,10,116,111,32]},{"a":36722,"t":"byte","b":[112,101,114,102,111,114,109,32]},{"a":36730,"t":"byte","b":[97,115,32,116,104,101,32,72]},{"a":36738,"t":"byte","b":[85,76,75,33,10]},{"a":36743,"l":"message_98","c":"Message 98, 51 bytes: \"(newline)With Special Thanks to Joe Calamari & Jim Shooter!\"","t":"byte","b":[51,10,87,105,116,104,32,83],"x":[42640]},{"a":36751,"t":"byte","b":[112,101,99,105,97,108,32,84]},{"a":36759,"t":"byte","b":[104,97,110,107,115,32,116,111]},{"a":36767,"t":"byte","b":[32,74,111,101,32,67,97,108]},{"a":36775,"t":"byte","b":[97,109,97,114,105,32,38,32]},{"a":36783,"t":"byte","b":[74,105,109,32,83,104,111,111]},{"a":36791,"t":"byte","b":[116,101,114,33]},{"a":36795,"l":"message_99","c":"Message 99, 154 bytes: \"To prove you can supply the brains as well as control the(newline)Hulk's brawn you must collect all the *Gems and store them(newline)into the proper location. Good Luck! \"","t":"byte","b":[154,84,111,32,112,114,111,118],"x":[42642]},{"a":36803,"t":"byte","b":[101,32,121,111,117,32,99,97]},{"a":36811,"t":"byte","b":[110,32,115,117,112,112,108,121]},{"a":36819,"t":"byte","b":[32,116,104,101,32,98,114,97]},{"a":36827,"t":"byte","b":[105,110,115,32,97,115,32,119]},{"a":36835,"t":"byte","b":[101,108,108,32,97,115,32,99]},{"a":36843,"t":"byte","b":[111,110,116,114,111,108,32,116]},{"a":36851,"t":"byte","b":[104,101,10,72,117,108,107,39]},{"a":36859,"t":"byte","b":[115,32,98,114,97,119,110,32]},{"a":36867,"t":"byte","b":[121,111,117,32,109,117,115,116]},{"a":36875,"t":"byte","b":[32,99,111,108,108,101,99,116]},{"a":36883,"t":"byte","b":[32,97,108,108,32,116,104,101]},{"a":36891,"t":"byte","b":[32,42,71,101,109,115,32,97]},{"a":36899,"t":"byte","b":[110,100,32,115,116,111,114,101]},{"a":36907,"t":"byte","b":[32,116,104,101,109,10,105,110]},{"a":36915,"t":"byte","b":[116,111,32,116,104,101,32,112]},{"a":36923,"t":"byte","b":[114,111,112,101,114,32,108,111]},{"a":36931,"t":"byte","b":[99,97,116,105,111,110,46,32]},{"a":36939,"t":"byte","b":[71,111,111,100,32,76,117,99]},{"a":36947,"t":"byte","b":[107,33,32]},{"a":36950,"l":"item_text_00","c":"Item 0's description, empty","t":"byte","b":[0],"x":[37738]},{"a":36951,"l":"item_text_01","c":"Item 1's description, 4 bytes, \"Rage\"","t":"byte","b":[4,82,97,103,101],"x":[37740]},{"a":36956,"l":"item_text_02","c":"Item 2's description, 12 bytes, \"Mirror/MIRR/\", then 2, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes","t":"byte","b":[12,77,105,114,114,111,114,47],"x":[37742]},{"a":36964,"t":"byte","b":[77,73,82,82,47,2]},{"a":36970,"l":"item_text_03","c":"Item 3's description, 18 bytes, \"Broken chair/CHAI/\", then 3, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes","t":"byte","b":[18,66,114,111,107,101,110,32],"x":[37744]},{"a":36978,"t":"byte","b":[99,104,97,105,114,47,67,72]},{"a":36986,"t":"byte","b":[65,73,47,3]},{"a":36990,"l":"item_text_04","c":"Item 4's description, 9 bytes, \"*Gem/GEM/\", then 4, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37746]},{"a":36998,"t":"byte","b":[77,47,4]},{"a":37001,"l":"item_text_05","c":"Item 5's description, 10 bytes, \"Large dome\"","t":"byte","b":[10,76,97,114,103,101,32,100],"x":[37748]},{"a":37009,"t":"byte","b":[111,109,101]},{"a":37012,"l":"item_text_06","c":"Item 6's description, 4 bytes, \"Sign\"","t":"byte","b":[4,83,105,103,110],"x":[37750]},{"a":37017,"l":"item_text_07","c":"Item 7's description, 4 bytes, \"Sign\"","t":"byte","b":[4,83,105,103,110],"x":[37752]},{"a":37022,"l":"item_text_08","c":"Item 8's description, 4 bytes, \"Sign\"","t":"byte","b":[4,83,105,103,110],"x":[37754]},{"a":37027,"l":"item_text_09","c":"Item 9's description, 1 bytes, \".\"","t":"byte","b":[1,46],"x":[37756]},{"a":37029,"l":"item_text_10","c":"Item 10's description, 10 bytes, \"Large dome\"","t":"byte","b":[10,76,97,114,103,101,32,100],"x":[37758]},{"a":37037,"t":"byte","b":[111,109,101]},{"a":37040,"l":"item_text_11","c":"Item 11's description, 10 bytes, \"Large dome\"","t":"byte","b":[10,76,97,114,103,101,32,100],"x":[37760]},{"a":37048,"t":"byte","b":[111,109,101]},{"a":37051,"l":"item_text_12","c":"Item 12's description, 9 bytes, \"*Gem/GEM/\", then 12, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37762]},{"a":37059,"t":"byte","b":[77,47,12]},{"a":37062,"l":"item_text_13","c":"Item 13's description, 10 bytes, \"Large hole\"","t":"byte","b":[10,76,97,114,103,101,32,104],"x":[37764]},{"a":37070,"t":"byte","b":[111,108,101]},{"a":37073,"l":"item_text_14","c":"Item 14's description, 10 bytes, \"Large hole\"","t":"byte","b":[10,76,97,114,103,101,32,104],"x":[37766]},{"a":37081,"t":"byte","b":[111,108,101]},{"a":37084,"l":"item_text_15","c":"Item 15's description, 10 bytes, \"Large hole\"","t":"byte","b":[10,76,97,114,103,101,32,104],"x":[37768]},{"a":37092,"t":"byte","b":[111,108,101]},{"a":37095,"l":"item_text_16","c":"Item 16's description, 9 bytes, \"*Gem/GEM/\", then 16, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37770]},{"a":37103,"t":"byte","b":[77,47,16]},{"a":37106,"l":"item_text_17","c":"Item 17's description, 22 bytes, \"Natter energy egg/EGG/\", then 17, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes","t":"byte","b":[22,78,97,116,116,101,114,32],"x":[37772]},{"a":37114,"t":"byte","b":[101,110,101,114,103,121,32,101]},{"a":37122,"t":"byte","b":[103,103,47,69,71,71,47,17]},{"a":37130,"l":"item_text_18","c":"Item 18's description, 13 bytes, \"*Bio gem/GEM/\", then 18, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[13,42,66,105,111,32,103,101],"x":[37774]},{"a":37138,"t":"byte","b":[109,47,71,69,77,47,18]},{"a":37145,"l":"item_text_19","c":"Item 19's description, 9 bytes, \"*Gem/GEM/\", then 19, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37776]},{"a":37153,"t":"byte","b":[77,47,19]},{"a":37156,"l":"item_text_20","c":"Item 20's description, 21 bytes, \"Alien army ants/ANTS/\", then 20, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes","t":"byte","b":[21,65,108,105,101,110,32,97],"x":[37778]},{"a":37164,"t":"byte","b":[114,109,121,32,97,110,116,115]},{"a":37172,"t":"byte","b":[47,65,78,84,83,47,20]},{"a":37179,"l":"item_text_21","c":"Item 21's description, 8 bytes, \"Wax/WAX/\", then 21, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes","t":"byte","b":[8,87,97,120,47,87,65,88],"x":[37780]},{"a":37187,"t":"byte","b":[47,21]},{"a":37189,"l":"item_text_22","c":"Item 22's description, 10 bytes, \"Tiny holes\"","t":"byte","b":[10,84,105,110,121,32,104,111],"x":[37782]},{"a":37197,"t":"byte","b":[108,101,115]},{"a":37200,"l":"item_text_23","c":"Item 23's description, 19 bytes, \"Metal Hand Fan/FAN/\", then 23, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes","t":"byte","b":[19,77,101,116,97,108,32,72],"x":[37784]},{"a":37208,"t":"byte","b":[97,110,100,32,70,97,110,47]},{"a":37216,"t":"byte","b":[70,65,78,47,23]},{"a":37221,"l":"item_text_24","c":"Item 24's description, 11 bytes, \"Killer Bees\"","t":"byte","b":[11,75,105,108,108,101,114,32],"x":[37786]},{"a":37229,"t":"byte","b":[66,101,101,115]},{"a":37233,"l":"item_text_25","c":"Item 25's description, 37 bytes, \"Wire mesh in wall with bee size holes\"","t":"byte","b":[37,87,105,114,101,32,109,101],"x":[37788]},{"a":37241,"t":"byte","b":[115,104,32,105,110,32,119,97]},{"a":37249,"t":"byte","b":[108,108,32,119,105,116,104,32]},{"a":37257,"t":"byte","b":[98,101,101,32,115,105,122,101]},{"a":37265,"t":"byte","b":[32,104,111,108,101,115]},{"a":37271,"l":"item_text_26","c":"Item 26's description, 32 bytes, \"Astral projection of Dr. Strange\"","t":"byte","b":[32,65,115,116,114,97,108,32],"x":[37790]},{"a":37279,"t":"byte","b":[112,114,111,106,101,99,116,105]},{"a":37287,"t":"byte","b":[111,110,32,111,102,32,68,114]},{"a":37295,"t":"byte","b":[46,32,83,116,114,97,110,103]},{"a":37303,"t":"byte","b":[101]},{"a":37304,"l":"item_text_27","c":"Item 27's description, 16 bytes, \"Small gas outlet\"","t":"byte","b":[16,83,109,97,108,108,32,103],"x":[37792]},{"a":37312,"t":"byte","b":[97,115,32,111,117,116,108,101]},{"a":37320,"t":"byte","b":[116]},{"a":37321,"l":"item_text_28","c":"Item 28's description, 18 bytes, \"Plugged gas outlet\"","t":"byte","b":[18,80,108,117,103,103,101,100],"x":[37794]},{"a":37329,"t":"byte","b":[32,103,97,115,32,111,117,116]},{"a":37337,"t":"byte","b":[108,101,116]},{"a":37340,"l":"item_text_29","c":"Item 29's description, 9 bytes, \"*Gem/GEM/\", then 29, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37796]},{"a":37348,"t":"byte","b":[77,47,29]},{"a":37351,"l":"item_text_30","c":"Item 30's description, 9 bytes, \"*Gem/GEM/\", then 30, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37798]},{"a":37359,"t":"byte","b":[77,47,30]},{"a":37362,"l":"item_text_31","c":"Item 31's description, 9 bytes, \"*Gem/GEM/\", then 31, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37800]},{"a":37370,"t":"byte","b":[77,47,31]},{"a":37373,"l":"item_text_32","c":"Item 32's description, 9 bytes, \"*Gem/GEM/\", then 32, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37802]},{"a":37381,"t":"byte","b":[77,47,32]},{"a":37384,"l":"item_text_33","c":"Item 33's description, 28 bytes, \"Large iron ring set in floor\"","t":"byte","b":[28,76,97,114,103,101,32,105],"x":[37804]},{"a":37392,"t":"byte","b":[114,111,110,32,114,105,110,103]},{"a":37400,"t":"byte","b":[32,115,101,116,32,105,110,32]},{"a":37408,"t":"byte","b":[102,108,111,111,114]},{"a":37413,"l":"item_text_34","c":"Item 34's description, 18 bytes, \"Open hole in floor\"","t":"byte","b":[18,79,112,101,110,32,104,111],"x":[37806]},{"a":37421,"t":"byte","b":[108,101,32,105,110,32,102,108]},{"a":37429,"t":"byte","b":[111,111,114]},{"a":37432,"l":"item_text_35","c":"Item 35's description, 9 bytes, \"*Gem/GEM/\", then 35, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37808]},{"a":37440,"t":"byte","b":[77,47,35]},{"a":37443,"l":"item_text_36","c":"Item 36's description, 14 bytes, \"Button in wall\"","t":"byte","b":[14,66,117,116,116,111,110,32],"x":[37810]},{"a":37451,"t":"byte","b":[105,110,32,119,97,108,108]},{"a":37458,"l":"item_text_37","c":"Item 37's description, 9 bytes, \"*Gem/GEM/\", then 37, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37812]},{"a":37466,"t":"byte","b":[77,47,37]},{"a":37469,"l":"item_text_38","c":"Item 38's description, 4 bytes, \"Sign\"","t":"byte","b":[4,83,105,103,110],"x":[37814]},{"a":37474,"l":"item_text_39","c":"Item 39's description, 15 bytes, \"Hole in ceiling\"","t":"byte","b":[15,72,111,108,101,32,105,110],"x":[37816]},{"a":37482,"t":"byte","b":[32,99,101,105,108,105,110,103]},{"a":37490,"l":"item_text_40","c":"Item 40's description, 14 bytes, \"Crack in floor\"","t":"byte","b":[14,67,114,97,99,107,32,105],"x":[37818]},{"a":37498,"t":"byte","b":[110,32,102,108,111,111,114]},{"a":37505,"l":"item_text_41","c":"Item 41's description, 13 bytes, \"Crack in rock\"","t":"byte","b":[13,67,114,97,99,107,32,105],"x":[37820]},{"a":37513,"t":"byte","b":[110,32,114,111,99,107]},{"a":37519,"l":"item_text_42","c":"Item 42's description, 9 bytes, \"*Gem/GEM/\", then 42, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37822]},{"a":37527,"t":"byte","b":[77,47,42]},{"a":37530,"l":"item_text_43","c":"Item 43's description, 4 bytes, \"Sign\"","t":"byte","b":[4,83,105,103,110],"x":[37824]},{"a":37535,"l":"item_text_44","c":"Item 44's description, 9 bytes, \"*Gem/GEM/\", then 44, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37826]},{"a":37543,"t":"byte","b":[77,47,44]},{"a":37546,"l":"item_text_45","c":"Item 45's description, 6 bytes, \"ULTRON\"","t":"byte","b":[6,85,76,84,82,79,78],"x":[37828]},{"a":37553,"l":"item_text_46","c":"Item 46's description, 9 bytes, \"*Gem/GEM/\", then 46, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37830]},{"a":37561,"t":"byte","b":[77,47,46]},{"a":37564,"l":"item_text_47","c":"Item 47's description, 10 bytes, \"Small cage\"","t":"byte","b":[10,83,109,97,108,108,32,99],"x":[37832]},{"a":37572,"t":"byte","b":[97,103,101]},{"a":37575,"l":"item_text_48","c":"Item 48's description, 9 bytes, \"*Gem/GEM/\", then 48, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37834]},{"a":37583,"t":"byte","b":[77,47,48]},{"a":37586,"l":"item_text_49","c":"Item 49's description, 7 bytes, \"Program\"","t":"byte","b":[7,80,114,111,103,114,97,109],"x":[37836]},{"a":37594,"l":"item_text_50","c":"Item 50's description, 9 bytes, \"*Gem/GEM/\", then 50, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37838]},{"a":37602,"t":"byte","b":[77,47,50]},{"a":37605,"l":"item_text_51","c":"Item 51's description, 9 bytes, \"*Gem/GEM/\", then 51, its number: the name is printed up to the first '/', and GET and DROP take it by the word between the slashes. The leading * makes it a treasure","t":"byte","b":[9,42,71,101,109,47,71,69],"x":[37840]},{"a":37613,"t":"byte","b":[77,47,51]},{"a":37616,"l":"item_text_52","c":"Item 52's description, 4 bytes, \"Door\"","t":"byte","b":[4,68,111,111,114],"x":[37842]},{"a":37621,"l":"item_text_53","c":"Item 53's description, 4 bytes, \"Sign\"","t":"byte","b":[4,83,105,103,110],"x":[37844]},{"a":37626,"l":"item_text_54","c":"Item 54's description, empty","t":"byte","b":[0],"x":[37846]},{"a":37627,"l":"locations_copy_before","c":"A zero byte, where $805C points; nothing reads it","t":"byte","b":[0],"x":[32860]},{"a":37628,"l":"locations_copy","c":"A second copy of the items' starting locations, word for word the same as $93D8; the C64 program never reads it","t":"word","b":[0,0,0,0,2,0,2,0],"d":[0,0,2,2],"x":[32854]},{"a":37636,"t":"word","b":[2,0,4,0,3,0,5,0],"d":[2,4,3,5]},{"a":37644,"t":"word","b":[6,0,0,0,7,0,8,0],"d":[6,0,7,8]},{"a":37652,"t":"word","b":[4,0,0,0,0,0,0,0],"d":[4,0,0,0]},{"a":37660,"t":"word","b":[0,0,15,0,15,0,0,0],"d":[0,15,15,0]},{"a":37668,"t":"word","b":[0,0,13,0,7,0,2,0],"d":[0,13,7,2]},{"a":37676,"t":"word","b":[13,0,13,0,0,0,0,0],"d":[13,13,0,0]},{"a":37684,"t":"word","b":[0,0,14,0,5,0,8,0],"d":[0,14,5,8]},{"a":37692,"t":"word","b":[7,0,2,0,0,0,0,0],"d":[7,2,0,0]},{"a":37700,"t":"word","b":[3,0,0,0,16,0,0,0],"d":[3,0,16,0]},{"a":37708,"t":"word","b":[0,0,12,0,12,0,20,0],"d":[0,12,12,20]},{"a":37716,"t":"word","b":[0,0,12,0,0,0,12,0],"d":[0,12,0,12]},{"a":37724,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":37732,"t":"word","b":[19,0,2,0,0,0],"d":[19,2,0]},{"a":37738,"l":"item_text_table","c":"The address of each item's description, a word for each item from 0 to 54","t":"addr","b":[86,144],"oa":36950,"o":"item_text_00","x":[32856]},{"a":37740,"t":"addr","b":[87,144],"oa":36951,"o":"item_text_01"},{"a":37742,"t":"addr","b":[92,144],"oa":36956,"o":"item_text_02"},{"a":37744,"t":"addr","b":[106,144],"oa":36970,"o":"item_text_03"},{"a":37746,"t":"addr","b":[126,144],"oa":36990,"o":"item_text_04"},{"a":37748,"t":"addr","b":[137,144],"oa":37001,"o":"item_text_05"},{"a":37750,"t":"addr","b":[148,144],"oa":37012,"o":"item_text_06"},{"a":37752,"t":"addr","b":[153,144],"oa":37017,"o":"item_text_07"},{"a":37754,"t":"addr","b":[158,144],"oa":37022,"o":"item_text_08"},{"a":37756,"t":"addr","b":[163,144],"oa":37027,"o":"item_text_09"},{"a":37758,"t":"addr","b":[165,144],"oa":37029,"o":"item_text_10"},{"a":37760,"t":"addr","b":[176,144],"oa":37040,"o":"item_text_11"},{"a":37762,"t":"addr","b":[187,144],"oa":37051,"o":"item_text_12"},{"a":37764,"t":"addr","b":[198,144],"oa":37062,"o":"item_text_13"},{"a":37766,"t":"addr","b":[209,144],"oa":37073,"o":"item_text_14"},{"a":37768,"t":"addr","b":[220,144],"oa":37084,"o":"item_text_15"},{"a":37770,"t":"addr","b":[231,144],"oa":37095,"o":"item_text_16"},{"a":37772,"t":"addr","b":[242,144],"oa":37106,"o":"item_text_17"},{"a":37774,"t":"addr","b":[10,145],"oa":37130,"o":"item_text_18"},{"a":37776,"t":"addr","b":[25,145],"oa":37145,"o":"item_text_19"},{"a":37778,"t":"addr","b":[36,145],"oa":37156,"o":"item_text_20"},{"a":37780,"t":"addr","b":[59,145],"oa":37179,"o":"item_text_21"},{"a":37782,"t":"addr","b":[69,145],"oa":37189,"o":"item_text_22"},{"a":37784,"t":"addr","b":[80,145],"oa":37200,"o":"item_text_23"},{"a":37786,"t":"addr","b":[101,145],"oa":37221,"o":"item_text_24"},{"a":37788,"t":"addr","b":[113,145],"oa":37233,"o":"item_text_25"},{"a":37790,"t":"addr","b":[151,145],"oa":37271,"o":"item_text_26"},{"a":37792,"t":"addr","b":[184,145],"oa":37304,"o":"item_text_27"},{"a":37794,"t":"addr","b":[201,145],"oa":37321,"o":"item_text_28"},{"a":37796,"t":"addr","b":[220,145],"oa":37340,"o":"item_text_29"},{"a":37798,"t":"addr","b":[231,145],"oa":37351,"o":"item_text_30"},{"a":37800,"t":"addr","b":[242,145],"oa":37362,"o":"item_text_31"},{"a":37802,"t":"addr","b":[253,145],"oa":37373,"o":"item_text_32"},{"a":37804,"t":"addr","b":[8,146],"oa":37384,"o":"item_text_33"},{"a":37806,"t":"addr","b":[37,146],"oa":37413,"o":"item_text_34"},{"a":37808,"t":"addr","b":[56,146],"oa":37432,"o":"item_text_35"},{"a":37810,"t":"addr","b":[67,146],"oa":37443,"o":"item_text_36"},{"a":37812,"t":"addr","b":[82,146],"oa":37458,"o":"item_text_37"},{"a":37814,"t":"addr","b":[93,146],"oa":37469,"o":"item_text_38"},{"a":37816,"t":"addr","b":[98,146],"oa":37474,"o":"item_text_39"},{"a":37818,"t":"addr","b":[114,146],"oa":37490,"o":"item_text_40"},{"a":37820,"t":"addr","b":[129,146],"oa":37505,"o":"item_text_41"},{"a":37822,"t":"addr","b":[143,146],"oa":37519,"o":"item_text_42"},{"a":37824,"t":"addr","b":[154,146],"oa":37530,"o":"item_text_43"},{"a":37826,"t":"addr","b":[159,146],"oa":37535,"o":"item_text_44"},{"a":37828,"t":"addr","b":[170,146],"oa":37546,"o":"item_text_45"},{"a":37830,"t":"addr","b":[177,146],"oa":37553,"o":"item_text_46"},{"a":37832,"t":"addr","b":[188,146],"oa":37564,"o":"item_text_47"},{"a":37834,"t":"addr","b":[199,146],"oa":37575,"o":"item_text_48"},{"a":37836,"t":"addr","b":[210,146],"oa":37586,"o":"item_text_49"},{"a":37838,"t":"addr","b":[218,146],"oa":37594,"o":"item_text_50"},{"a":37840,"t":"addr","b":[229,146],"oa":37605,"o":"item_text_51"},{"a":37842,"t":"addr","b":[240,146],"oa":37616,"o":"item_text_52"},{"a":37844,"t":"addr","b":[245,146],"oa":37621,"o":"item_text_53"},{"a":37846,"t":"addr","b":[250,146],"oa":37626,"o":"item_text_54"},{"a":37848,"l":"start_locations","c":"The items' starting locations, a word each, copied to $1C3C for a new game. Item 0 starts in room 0, nowhere","t":"word","b":[0,0],"d":[0],"x":[32858]},{"a":37850,"c":"Item 1 (Rage) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37852,"c":"Item 2 (Mirror) starts in room 2 (dome)","t":"word","b":[2,0],"d":[2]},{"a":37854,"c":"Item 3 (Broken chair) starts in room 2 (dome)","t":"word","b":[2,0],"d":[2]},{"a":37856,"c":"Item 4 (Gem) starts in room 2 (dome)","t":"word","b":[2,0],"d":[2]},{"a":37858,"c":"Item 5 (Large dome) starts in room 4 (field)","t":"word","b":[4,0],"d":[4]},{"a":37860,"c":"Item 6 (Sign) starts in room 3 (tunnel going outside)","t":"word","b":[3,0],"d":[3]},{"a":37862,"c":"Item 7 (Sign) starts in room 5 (tunnel going out)","t":"word","b":[5,0],"d":[5]},{"a":37864,"c":"Item 8 (Sign) starts in room 6 (tunnel going out)","t":"word","b":[6,0],"d":[6]},{"a":37866,"c":"Item 9 (.) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37868,"c":"Item 10 (Large dome) starts in room 7 (field)","t":"word","b":[7,0],"d":[7]},{"a":37870,"c":"Item 11 (Large dome) starts in room 8 (field)","t":"word","b":[8,0],"d":[8]},{"a":37872,"c":"Item 12 (Gem) starts in room 4 (field)","t":"word","b":[4,0],"d":[4]},{"a":37874,"c":"Item 13 (Large hole) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37876,"c":"Item 14 (Large hole) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37878,"c":"Item 15 (Large hole) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37880,"c":"Item 16 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37882,"c":"Item 17 (Natter energy egg) starts in room 15 (small underground room)","t":"word","b":[15,0],"d":[15]},{"a":37884,"c":"Item 18 (Bio gem) starts in room 15 (small underground room)","t":"word","b":[15,0],"d":[15]},{"a":37886,"c":"Item 19 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37888,"c":"Item 20 (Alien army ants) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37890,"c":"Item 21 (Wax) starts in room 13 (dome)","t":"word","b":[13,0],"d":[13]},{"a":37892,"c":"Item 22 (Tiny holes) starts in room 7 (field)","t":"word","b":[7,0],"d":[7]},{"a":37894,"c":"Item 23 (Metal Hand Fan) starts in room 2 (dome)","t":"word","b":[2,0],"d":[2]},{"a":37896,"c":"Item 24 (Killer Bees) starts in room 13 (dome)","t":"word","b":[13,0],"d":[13]},{"a":37898,"c":"Item 25 (Wire mesh in wall with bee size holes) starts in room 13 (dome)","t":"word","b":[13,0],"d":[13]},{"a":37900,"c":"Item 26 (Astral projection of Dr. Strange) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37902,"c":"Item 27 (Small gas outlet) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37904,"c":"Item 28 (Plugged gas outlet) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37906,"c":"Item 29 (Gem) starts in room 14 (dome)","t":"word","b":[14,0],"d":[14]},{"a":37908,"c":"Item 30 (Gem) starts in room 5 (tunnel going out)","t":"word","b":[5,0],"d":[5]},{"a":37910,"c":"Item 31 (Gem) starts in room 8 (field)","t":"word","b":[8,0],"d":[8]},{"a":37912,"c":"Item 32 (Gem) starts in room 7 (field)","t":"word","b":[7,0],"d":[7]},{"a":37914,"c":"Item 33 (Large iron ring set in floor) starts in room 2 (dome)","t":"word","b":[2,0],"d":[2]},{"a":37916,"c":"Item 34 (Open hole in floor) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37918,"c":"Item 35 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37920,"c":"Item 36 (Button in wall) starts in room 3 (tunnel going outside)","t":"word","b":[3,0],"d":[3]},{"a":37922,"c":"Item 37 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37924,"c":"Item 38 (Sign) starts in room 16 (fuzzy area)","t":"word","b":[16,0],"d":[16]},{"a":37926,"c":"Item 39 (Hole in ceiling) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37928,"c":"Item 40 (Crack in floor) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37930,"c":"Item 41 (Crack in rock) starts in room 12 (cavern)","t":"word","b":[12,0],"d":[12]},{"a":37932,"c":"Item 42 (Gem) starts in room 12 (cavern)","t":"word","b":[12,0],"d":[12]},{"a":37934,"c":"Item 43 (Sign) starts in room 20 (state of limbo)","t":"word","b":[20,0],"d":[20]},{"a":37936,"c":"Item 44 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37938,"c":"Item 45 (ULTRON) starts in room 12 (cavern)","t":"word","b":[12,0],"d":[12]},{"a":37940,"c":"Item 46 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37942,"c":"Item 47 (Small cage) starts in room 12 (cavern)","t":"word","b":[12,0],"d":[12]},{"a":37944,"c":"Item 48 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37946,"c":"Item 49 (Program) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37948,"c":"Item 50 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37950,"c":"Item 51 (Gem) starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37952,"c":"Item 52 (Door) starts in room 19 (room with the Chief Examiner w...)","t":"word","b":[19,0],"d":[19]},{"a":37954,"c":"Item 53 (Sign) starts in room 2 (dome)","t":"word","b":[2,0],"d":[2]},{"a":37956,"c":"Item 54 starts in room 0, nowhere","t":"word","b":[0,0],"d":[0]},{"a":37958,"l":"action_verbs","c":"The actions' verb column, a byte for each action, read with the other ten columns at the same place. Each action is decoded here. Action 0, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0],"x":[32816]},{"a":37959,"c":"Action 1, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":37960,"c":"Action 2, automatic, every turn, if flag 2 is clear: set flag 2; set the counter to 0; go on into the next actions","t":"byte","b":[0]},{"a":37961,"c":"Action 3, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 1; set the counter to 0; swap the counter with saved counter 2; set the counter to 0","t":"byte","b":[0]},{"a":37962,"c":"Action 4, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 3; set the counter to 0; go to room 16 (fuzzy area); put the room in saved room 0, where a swap was meant, and stay in it (command 80)","t":"byte","b":[0]},{"a":37963,"c":"Action 5, a continuation (it runs when an action before it set the continue flag): go to room 1 (I'm Bruce Banner, tied hand &...); print message 11 \"Scott Adams presents Marvel Adventure #1 by Scott Adams(newline)with Art by John Romita Sr, Mark Gruenwald & Kem McNair.(newline)Series outline by Scott Adams and John Byrne & Bob Budiansky.(newline)Dedicated: Stan Lee, My wife Alexis & CIS CBers!\"; print message 98 \"(newline)With Special Thanks to Joe Calamari & Jim Shooter!\"; describe the room","t":"byte","b":[0]},{"a":37964,"c":"Action 6, automatic, every turn, if the player is in room 3 (tunnel going outside), item 1 (Rage) is not carried and flag 5 is set: set the counter to 2","t":"byte","b":[0]},{"a":37965,"c":"Action 7, automatic, every turn, if the player is in room 5 (tunnel going out), item 1 (Rage) is not carried and flag 5 is set: set the counter to 2","t":"byte","b":[0]},{"a":37966,"c":"Action 8, automatic, every turn, if the player is in room 6 (tunnel going out), item 1 (Rage) is not carried and flag 5 is set: set the counter to 2","t":"byte","b":[0]},{"a":37967,"c":"Action 9, automatic, every turn, if the player is in room 15 (small underground room) and flag 4 is set: clear flag 3; clear flag 4","t":"byte","b":[0]},{"a":37968,"c":"Action 10, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":37969,"c":"Action 11, automatic, every turn, if flag 7 is set: carry item 1 (Rage) whatever the count; print message 18 \"I'm\"; print message 10 \"The Incredible Hulk (Tm)\"; go on into the next actions","t":"byte","b":[0]},{"a":37970,"c":"Action 12, a continuation (it runs when an action before it set the continue flag): clear flag 7; print message 22 \"now!(newline)\"","t":"byte","b":[0]},{"a":37971,"c":"Action 13, automatic, every turn, if flag 8 is set: print message 21 \"Rope Breaks!(newline)\"; clear flag 8; go to room 2 (dome); go on into the next actions","t":"byte","b":[0]},{"a":37972,"c":"Action 14, a continuation (it runs when an action before it set the continue flag): show room 84's picture; show room 83's picture; show room 86's picture","t":"byte","b":[0]},{"a":37973,"c":"Action 15, automatic, every turn, if the player is in room 10 (hole): go on into the next actions; swap the counter with saved counter 2","t":"byte","b":[0]},{"a":37974,"c":"Action 16, a continuation (it runs when an action before it set the continue flag), if the counter is 4 and item 16 (Gem) is in room 0: put item 16 (Gem) here; describe the room; print message 5 \"something\"; print message 28 \"here.\"","t":"byte","b":[0]},{"a":37975,"c":"Action 17, a continuation (it runs when an action before it set the continue flag), if the counter is 10: print message 10 \"The Incredible Hulk (Tm)\"; print message 29 \"hits molten core!\"; die","t":"byte","b":[0]},{"a":37976,"c":"Action 18, a continuation (it runs when an action before it set the continue flag), if the counter is more than 8: print message 72 \"Getting warm!\"","t":"byte","b":[0]},{"a":37977,"c":"Action 19, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 2","t":"byte","b":[0]},{"a":37978,"c":"Action 20, automatic, every turn, if the player is in room 11 (hole): swap the counter with saved counter 3; go on into the next actions","t":"byte","b":[0]},{"a":37979,"c":"Action 21, a continuation (it runs when an action before it set the continue flag), if the counter is 7 and item 44 (Gem) is in room 0: put item 44 (Gem) here; describe the room; print message 5 \"something\"; print message 28 \"here.\"","t":"byte","b":[0]},{"a":37980,"c":"Action 22, a continuation (it runs when an action before it set the continue flag), if the counter is 10: print message 10 \"The Incredible Hulk (Tm)\"; print message 29 \"hits molten core!\"; die","t":"byte","b":[0]},{"a":37981,"c":"Action 23, a continuation (it runs when an action before it set the continue flag), if the counter is more than 8: print message 72 \"Getting warm!\"","t":"byte","b":[0]},{"a":37982,"c":"Action 24, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 3","t":"byte","b":[0]},{"a":37983,"c":"Action 25, automatic, every turn, if item 20 (Alien army ants) is carried or here and item 47 (Small cage) is not here: print message 32 \"(newline)Ants\"; print message 38 \"attack\"; go on into the next actions","t":"byte","b":[0]},{"a":37984,"c":"Action 26, a continuation (it runs when an action before it set the continue flag), if flag 11 is clear: print message 33 \"eyes.\"; die; put item 20 (Alien army ants) in room 0","t":"byte","b":[0]},{"a":37985,"c":"Action 27, a continuation (it runs when an action before it set the continue flag), if item 20 (Alien army ants) is carried or here and flag 10 is clear: print message 35 \"nose.\"; die; put item 20 (Alien army ants) in room 0","t":"byte","b":[0]},{"a":37986,"c":"Action 28, a continuation (it runs when an action before it set the continue flag), if item 20 (Alien army ants) is carried or here and flag 12 is clear: print message 34 \"ears.\"; die; put item 20 (Alien army ants) in room 0","t":"byte","b":[0]},{"a":37987,"c":"Action 29, a continuation (it runs when an action before it set the continue flag), if item 1 (Rage) is not carried: print message 12 \"Bruce Banner\"; print message 22 \"now!(newline)\"; die; put item 20 (Alien army ants) in room 0","t":"byte","b":[0]},{"a":37988,"c":"Action 30, a continuation (it runs when an action before it set the continue flag), if item 20 (Alien army ants) is carried or here: print message 36 \"but find no opening.\"","t":"byte","b":[0]},{"a":37989,"c":"Action 31, automatic, every turn, if item 20 (Alien army ants) is in room 0 and the player is in room 7 (field): put item 20 (Alien army ants) here; describe the room; print message 32 \"(newline)Ants\"; print message 37 \"swarm from holes\"","t":"byte","b":[0]},{"a":37990,"c":"Action 32, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":37991,"c":"Action 33, automatic, every turn, if the player is in room 14 (dome), item 1 (Rage) is carried, flag 21 is clear and item 26 (Astral projection of Dr. Strange) is in room 0: put item 26 (Astral projection of Dr. Strange) here; describe the room; print message 2 \"I see\"; go on into the next actions","t":"byte","b":[0]},{"a":37992,"c":"Action 34, a continuation (it runs when an action before it set the continue flag): print message 5 \"something\"; pause; pause; pause","t":"byte","b":[0]},{"a":37993,"c":"Action 35, a continuation (it runs when an action before it set the continue flag): pause; pause","t":"byte","b":[0]},{"a":37994,"c":"Action 36, automatic, on 45 turns in 100, if the player is in room 14 (dome), item 1 (Rage) is carried, item 26 (Astral projection of Dr. Strange) is here and item 28 (Plugged gas outlet) is not here: print message 2 \"I see\"; print message 52 \"Dr Strange points to baseboard.\"","t":"byte","b":[0]},{"a":37995,"c":"Action 37, automatic, every turn, if flag 3 is set and item 1 (Rage) is not carried: print message 13 \"High Gravity!\"; print message 18 \"I'm\"; print message 14 \"crushed!\"; die","t":"byte","b":[0]},{"a":37996,"c":"Action 38, automatic, every turn, if item 17 (Natter energy egg) is carried or here and flag 9 is set: put item 18 (Bio gem) in room 0; print message 31 \"Egg explodes ...\"; put item 17 (Natter energy egg) in room 0; go on into the next actions","t":"byte","b":[0]},{"a":37997,"c":"Action 39, a continuation (it runs when an action before it set the continue flag), if item 1 (Rage) is not carried: die","t":"byte","b":[0]},{"a":37998,"c":"Action 40, automatic, every turn, if item 17 (Natter energy egg) is carried or here: set flag 9; print message 69 \"Egg pulsates!\"","t":"byte","b":[0]},{"a":37999,"c":"Action 41, automatic, every turn, if the player is in room 9 (hole): go on into the next actions; swap the counter with saved counter 1","t":"byte","b":[0]},{"a":38000,"c":"Action 42, a continuation (it runs when an action before it set the continue flag), if the counter is 10: print message 10 \"The Incredible Hulk (Tm)\"; print message 29 \"hits molten core!\"; die","t":"byte","b":[0]},{"a":38001,"c":"Action 43, a continuation (it runs when an action before it set the continue flag), if the counter is 1 and item 37 (Gem) is in room 0: put item 37 (Gem) here; describe the room; print message 5 \"something\"; print message 28 \"here.\"","t":"byte","b":[0]},{"a":38002,"c":"Action 44, a continuation (it runs when an action before it set the continue flag), if the counter is more than 8: print message 72 \"Getting warm!\"","t":"byte","b":[0]},{"a":38003,"c":"Action 45, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 1","t":"byte","b":[0]},{"a":38004,"c":"Action 46, automatic, on 50 turns in 100, if item 18 (Bio gem) has moved from where it started and item 18 (Bio gem) is neither carried nor here: put item 18 (Bio gem) in room 0","t":"byte","b":[0]},{"a":38005,"c":"Action 47, automatic, every turn, if item 20 (Alien army ants) is neither carried nor here and item 20 (Alien army ants) is somewhere (not room 0): put item 20 (Alien army ants) in room 0","t":"byte","b":[0]},{"a":38006,"c":"Action 48, automatic, on 20 turns in 100, if the player is in room 18 (warp) and flag 23 is clear: go to room 19 (room with the Chief Examiner w...); describe the room; set flag 23","t":"byte","b":[0]},{"a":38007,"c":"Action 49, automatic, on 33 turns in 100, if the player is in room 18 (warp): go to room 7 (field); describe the room","t":"byte","b":[0]},{"a":38008,"c":"Action 50, automatic, on 40 turns in 100, if the player is in room 18 (warp): go to room 8 (field); describe the room","t":"byte","b":[0]},{"a":38009,"c":"Action 51, automatic, every turn, if the player is in room 18 (warp): go to room 4 (field); describe the room","t":"byte","b":[0]},{"a":38010,"c":"Action 52, automatic, every turn, if item 18 (Bio gem) is carried and item 20 (Alien army ants) is carried or here: put item 18 (Bio gem) in room 0; list what is carried; print message 89 \"Ants ate it!\"","t":"byte","b":[0]},{"a":38011,"c":"Action 53, automatic, every turn, if the player is in room 17 (warp): go to room 16 (fuzzy area); describe the room","t":"byte","b":[0]},{"a":38012,"c":"Action 54, automatic, every turn, if item 1 (Rage) is carried and the counter is more than 3: print message 78 \"You've lost control... Hulk rampages off!\"; set the counter to 1; go to room 16 (fuzzy area); set flag 4","t":"byte","b":[0]},{"a":38013,"c":"Action 55, automatic, every turn, if the player is not in room 15 (small underground room): swap the counter with saved counter 4; set the counter to 7; swap the counter with saved counter 4","t":"byte","b":[0]},{"a":38014,"c":"Action 56, automatic, every turn, if the player is in room 15 (small underground room) and item 1 (Rage) is not carried: swap the counter with saved counter 4; take one from the counter; go on into the next actions","t":"byte","b":[0]},{"a":38015,"c":"Action 57, a continuation (it runs when an action before it set the continue flag), if the counter is no more than 1: print message 83 \"(newline)Poison nerve gas fills room.\"; die","t":"byte","b":[0]},{"a":38016,"c":"Action 58, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 4","t":"byte","b":[0]},{"a":38017,"c":"Action 59, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38018,"c":"Action 60, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38019,"c":"Action 61, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38020,"c":"Action 62, automatic, every turn, if item 1 (Rage) is carried, flag 4 is clear and item 28 (Plugged gas outlet) is not here: take one from the counter; print message 19 \"(newline)Some gas fills room & permeates my skin!(newline)\"; go on into the next actions","t":"byte","b":[0]},{"a":38021,"c":"Action 63, a continuation (it runs when an action before it set the continue flag), if the counter is no more than 0: put item 1 (Rage) in room 0; print message 18 \"I'm\"; print message 12 \"Bruce Banner\"; print message 22 \"now!(newline)\"","t":"byte","b":[0]},{"a":38022,"c":"Action 64, automatic, every turn, if item 1 (Rage) is not carried: set the counter to 0","t":"byte","b":[0]},{"a":38023,"c":"Action 65, automatic, every turn, if item 26 (Astral projection of Dr. Strange) is somewhere (not room 0) and item 1 (Rage) is not carried: put item 26 (Astral projection of Dr. Strange) in room 0; describe the room","t":"byte","b":[0]},{"a":38024,"c":"Action 66, automatic, every turn, if the player is in room 20 (state of limbo): clear flag 4; clear flag 3; put item 1 (Rage) in room 0; go on into the next actions","t":"byte","b":[0]},{"a":38025,"c":"Action 67, a continuation (it runs when an action before it set the continue flag): clear flag 11","t":"byte","b":[0]},{"a":38026,"c":"Action 68, automatic, every turn, if item 45 (ULTRON) is here and item 20 (Alien army ants) is carried or here: print message 87 \"Ant-Man controlled ants sneak up on Ultron(newline)then free Ant-Man! He leaves something.\"; put item 45 (ULTRON) in room 0; put item 47 (Small cage) in room 0; go on into the next actions","t":"byte","b":[0]},{"a":38027,"c":"Action 69, a continuation (it runs when an action before it set the continue flag): put item 20 (Alien army ants) in room 0; put item 46 (Gem) here; describe the room","t":"byte","b":[0]},{"a":38028,"c":"Action 70, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38029,"c":"Action 71, LOOK SIGN (verb 39, noun 54), if item 53 (Sign) is here: print message 97 \"This computer model has been created so that you will learn(newline)to perform as the HULK!(newline)\"; print message 99 \"To prove you can supply the brains as well as control the(newline)Hulk's brawn you must collect all the *Gems and store them(newline)into the proper location. Good Luck! \"","t":"byte","b":[39]},{"a":38030,"c":"Action 72, REME NIGH (verb 102, noun 84), if item 1 (Rage) is carried: add 2 to the counter; print message 10 \"The Incredible Hulk (Tm)\"; print message 15 \"very\"; go on into the next actions","t":"byte","b":[102]},{"a":38031,"c":"Action 73, a continuation (it runs when an action before it set the continue flag): print message 16 \"mad.(newline)\"; show room 88's picture","t":"byte","b":[0]},{"a":38032,"c":"Action 74, GET LOOS (verb 10, noun 7), if the player is in room 0 (nowhere): no commands, so it does nothing","t":"byte","b":[10]},{"a":38033,"c":"Action 75, BITE ROPE (verb 70, noun 69), if the player is in room 1 (I'm Bruce Banner, tied hand &...): print message 6 \"Sorry,\"; print message 7 \"I\"; print message 8 \"can't do that\"; print message 28 \"here.\"","t":"byte","b":[70]},{"a":38034,"c":"Action 76, LOOK DESK (verb 39, noun 128), if the player is in room 19 (room with the Chief Examiner w...) and item 48 (Gem) is in room 0: put item 48 (Gem) here; describe the room; print message 2 \"I see\"; print message 5 \"something\"","t":"byte","b":[39]},{"a":38035,"c":"Action 77, COVE with any noun (verb 45, noun 0): print message 39 \"With what?\"; set flag 24","t":"byte","b":[45]},{"a":38036,"c":"Action 78, USE with any noun (verb 90, noun 0), if flag 24 is set: clear flag 24; print message 44 \"Doesn't work!\"","t":"byte","b":[90]},{"a":38037,"c":"Action 79, GO INSI (verb 1, noun 125): print message 94 \"Try: ENTER DOME\"","t":"byte","b":[1]},{"a":38038,"c":"Action 80, FREE with any noun (verb 7, noun 0), if item 47 (Small cage) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[7]},{"a":38039,"c":"Action 81, HIT ULTR (verb 51, noun 120), if item 45 (ULTRON) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[51]},{"a":38040,"c":"Action 82, CLIM WALL (verb 104, noun 110): print message 18 \"I'm\"; print message 82 \"not that mad!\"","t":"byte","b":[104]},{"a":38041,"c":"Action 83, LOOK MESH (verb 39, noun 35), if the player is in room 8 (field): print message 1 \"O.K.\"; print message 2 \"I see\"; print message 81 \"inside the dome.\"","t":"byte","b":[39]},{"a":38042,"c":"Action 84, LOOK DOME (verb 39, noun 55), if the player is in room 8 (field): print message 1 \"O.K.\"; print message 2 \"I see\"; print message 80 \"wire mesh in the side.\"","t":"byte","b":[39]},{"a":38043,"c":"Action 85, PLUG HOLE (verb 93, noun 66), if item 22 (Tiny holes) is here: print message 6 \"Sorry,\"; print message 79 \"too many.\"","t":"byte","b":[93]},{"a":38044,"c":"Action 86, AT with any noun (verb 29, noun 0), if item 1 (Rage) is not carried and flag 17 is set: clear flag 17; print message 77 \"I make a tiny breeze.\"; print message 3 \"Nothing\"; print message 23 \"happens.\"","t":"byte","b":[29]},{"a":38045,"c":"Action 87, AT BEES (verb 29, noun 21), if flag 17 is set, item 23 (Metal Hand Fan) is carried and item 24 (Killer Bees) is here: print message 49 \"I send a gale at it!\"; clear flag 17; put item 24 (Killer Bees) in room 0","t":"byte","b":[29]},{"a":38046,"c":"Action 88, LIFT DOME (verb 83, noun 55), if item 10 (Large dome) is here, item 50 (Gem) is in room 0 and item 1 (Rage) is carried: put item 50 (Gem) here; print message 5 \"something\"; print message 28 \"here.\"; describe the room","t":"byte","b":[83]},{"a":38047,"c":"Action 89, LIFT DOME (verb 83, noun 55), if item 5 (Large dome) is here, item 51 (Gem) is in room 0 and item 1 (Rage) is carried: print message 5 \"something\"; print message 28 \"here.\"; put item 51 (Gem) here; describe the room","t":"byte","b":[83]},{"a":38048,"c":"Action 90, LIFT RING (verb 83, noun 83), if item 33 (Large iron ring set in floor) is carried or here and item 1 (Rage) is not carried: print message 6 \"Sorry,\"; print message 24 \"won't budge!\"","t":"byte","b":[83]},{"a":38049,"c":"Action 91, LOOK WALL (verb 39, noun 110), if the player is in room 15 (small underground room): print message 1 \"O.K.\"; print message 2 \"I see\"; print message 74 \"wall has scratch marks on it.\"","t":"byte","b":[39]},{"a":38050,"c":"Action 92, SCRA WALL (verb 17, noun 110), if item 40 (Crack in floor) is in room 0, the player is in room 15 (small underground room) and item 1 (Rage) is carried: put item 40 (Crack in floor) here; print message 2 \"I see\"; print message 5 \"something\"; print message 23 \"happens.\"","t":"byte","b":[17]},{"a":38051,"c":"Action 93, AT BEES (verb 29, noun 21), if flag 17 is set, the player is in room 6 (tunnel going out) and item 23 (Metal Hand Fan) is carried: print message 1 \"O.K.\"; print message 49 \"I send a gale at it!\"; clear flag 17; put item 24 (Killer Bees) in room 0","t":"byte","b":[29]},{"a":38052,"c":"Action 94, CLIM DOME (verb 104, noun 55): print message 6 \"Sorry,\"; print message 7 \"I\"; print message 71 \"slide down.\"","t":"byte","b":[104]},{"a":38053,"c":"Action 95, LOOK GEM (verb 39, noun 41), if item 18 (Bio gem) is carried or here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 70 \"it's alive & moving around!\"","t":"byte","b":[39]},{"a":38054,"c":"Action 96, AT BEES (verb 29, noun 21), if item 24 (Killer Bees) is not here: print message 2 \"I see\"; print message 66 \"none here!\"","t":"byte","b":[29]},{"a":38055,"c":"Action 97, AT DOME (verb 29, noun 55), if flag 17 is set, item 11 (Large dome) is here and item 23 (Metal Hand Fan) is carried: print message 1 \"O.K.\"; print message 49 \"I send a gale at it!\"; clear flag 17; put item 24 (Killer Bees) in room 0","t":"byte","b":[29]},{"a":38056,"c":"Action 98, HIT ANTS (verb 51, noun 72), if item 1 (Rage) is carried and item 20 (Alien army ants) is here: print message 1 \"O.K.\"; print message 45 \"more\"; print message 37 \"swarm from holes\"","t":"byte","b":[51]},{"a":38057,"c":"Action 99, HIT with any noun (verb 51, noun 0), if the player is in room 1 (I'm Bruce Banner, tied hand &...): print message 7 \"I\"; print message 8 \"can't do that\"; print message 22 \"now!(newline)\"","t":"byte","b":[51]},{"a":38058,"c":"Action 100, SAVE GAME (verb 48, noun 11): print message 1 \"O.K.\"; save the game","t":"byte","b":[48]},{"a":38059,"c":"Action 101, LOOK MIRR (verb 39, noun 9), if item 2 (Mirror) is carried or here, flag 15 is clear and item 1 (Rage) is not carried: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 12 \"Bruce Banner\"; show room 82's picture","t":"byte","b":[39]},{"a":38060,"c":"Action 102, LOOK MIRR (verb 39, noun 9), if item 2 (Mirror) is carried or here, flag 15 is clear and item 1 (Rage) is carried: print message 2 \"I see\"; print message 10 \"The Incredible Hulk (Tm)\"; go on into the next actions; print message 17 \"who is\"","t":"byte","b":[39]},{"a":38061,"c":"Action 103, a continuation (it runs when an action before it set the continue flag), if the counter is more than 0: print message 15 \"very\"","t":"byte","b":[0]},{"a":38062,"c":"Action 104, a continuation (it runs when an action before it set the continue flag), if the counter is more than 1: print message 15 \"very\"","t":"byte","b":[0]},{"a":38063,"c":"Action 105, a continuation (it runs when an action before it set the continue flag), if the counter is more than 2: print message 15 \"very\"","t":"byte","b":[0]},{"a":38064,"c":"Action 106, a continuation (it runs when an action before it set the continue flag): print message 16 \"mad.(newline)\"; show room 81's picture","t":"byte","b":[0]},{"a":38065,"c":"Action 107, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38066,"c":"Action 108, BITE TONG (verb 70, noun 46), if the player is in room 1 (I'm Bruce Banner, tied hand &...): print message 20 \"Ouch! I scream!(newline)\"; set flag 7; set flag 8; clear flag 6","t":"byte","b":[70]},{"a":38067,"c":"Action 109, BITE TONG (verb 70, noun 46), if item 1 (Rage) is not carried: print message 20 \"Ouch! I scream!(newline)\"; set flag 7; clear flag 6","t":"byte","b":[70]},{"a":38068,"c":"Action 110, AT MESH (verb 29, noun 35), if flag 17 is set, item 11 (Large dome) is here and item 23 (Metal Hand Fan) is carried: print message 1 \"O.K.\"; print message 49 \"I send a gale at it!\"; clear flag 17; put item 24 (Killer Bees) in room 0","t":"byte","b":[29]},{"a":38069,"c":"Action 111, USE WAX (verb 90, noun 33), if item 21 (Wax) is not carried: print message 9 \"How?\"; list what is carried; clear flag 13; clear flag 14","t":"byte","b":[90]},{"a":38070,"c":"Action 112, ROCK with any noun (verb 76, noun 0), if the player is in room 1 (I'm Bruce Banner, tied hand &...): print message 7 \"I\"; print message 26 \"fall & hit head!(newline)\"; set flag 7; set flag 8","t":"byte","b":[76]},{"a":38071,"c":"Action 113, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38072,"c":"Action 114, HIT ME (verb 51, noun 12), if item 1 (Rage) is not carried: print message 20 \"Ouch! I scream!(newline)\"; set flag 7; clear flag 6","t":"byte","b":[51]},{"a":38073,"c":"Action 115, BITE ME (verb 70, noun 12), if the player is not in room 1 (I'm Bruce Banner, tied hand &...) and item 1 (Rage) is not carried: print message 20 \"Ouch! I scream!(newline)\"; set flag 7; clear flag 6","t":"byte","b":[70]},{"a":38074,"c":"Action 116, BITE ME (verb 70, noun 12), if the player is in room 1 (I'm Bruce Banner, tied hand &...): print message 41 \"Say again but tell me\"; print message 42 \"where?\"","t":"byte","b":[70]},{"a":38075,"c":"Action 117, BITE ME (verb 70, noun 12), if item 1 (Rage) is carried: print message 1 \"O.K.\"; print message 7 \"I\"; print message 25 \"feel\"; print message 3 \"Nothing\"","t":"byte","b":[70]},{"a":38076,"c":"Action 118, HIT ME (verb 51, noun 12), if item 1 (Rage) is carried: print message 1 \"O.K.\"; print message 7 \"I\"; print message 25 \"feel\"; print message 3 \"Nothing\"","t":"byte","b":[51]},{"a":38077,"c":"Action 119, BITE TONG (verb 70, noun 46), if item 1 (Rage) is carried: print message 1 \"O.K.\"; print message 7 \"I\"; print message 25 \"feel\"; print message 3 \"Nothing\"","t":"byte","b":[70]},{"a":38078,"c":"Action 120, GET MAD (verb 10, noun 27): print message 9 \"How?\"","t":"byte","b":[10]},{"a":38079,"c":"Action 121, GET UP (verb 10, noun 5), if the player is in room 0 (nowhere): no commands, so it does nothing","t":"byte","b":[10]},{"a":38080,"c":"Action 122, QUIT with any noun (verb 31, noun 0): print message 1 \"O.K.\"; score; end the game","t":"byte","b":[31]},{"a":38081,"c":"Action 123, LOOK SIGN (verb 39, noun 54), if item 6 (Sign) is here and flag 15 is clear: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 27 \"Warning Hi Grav Ahead!\"","t":"byte","b":[39]},{"a":38082,"c":"Action 124, LOOK SIGN (verb 39, noun 54), if item 7 (Sign) is here and flag 15 is clear: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 27 \"Warning Hi Grav Ahead!\"","t":"byte","b":[39]},{"a":38083,"c":"Action 125, LOOK SIGN (verb 39, noun 54), if item 8 (Sign) is here and flag 15 is clear: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 27 \"Warning Hi Grav Ahead!\"","t":"byte","b":[39]},{"a":38084,"c":"Action 126, DIG with any noun (verb 82, noun 0), if the player is in room 4 (field): print message 1 \"O.K.\"; put item 13 (Large hole) here; show room 89's picture","t":"byte","b":[82]},{"a":38085,"c":"Action 127, DIG with any noun (verb 82, noun 0), if the player is in room 7 (field): print message 1 \"O.K.\"; put item 14 (Large hole) here; show room 89's picture","t":"byte","b":[82]},{"a":38086,"c":"Action 128, DIG with any noun (verb 82, noun 0), if the player is in room 8 (field): print message 1 \"O.K.\"; put item 15 (Large hole) here; show room 89's picture","t":"byte","b":[82]},{"a":38087,"c":"Action 129, GO HOLE (verb 1, noun 66), if item 13 (Large hole) is here: print message 1 \"O.K.\"; go to room 9 (hole); describe the room","t":"byte","b":[1]},{"a":38088,"c":"Action 130, GO HOLE (verb 1, noun 66), if item 14 (Large hole) is here: print message 1 \"O.K.\"; go to room 10 (hole); describe the room","t":"byte","b":[1]},{"a":38089,"c":"Action 131, GO HOLE (verb 1, noun 66), if item 15 (Large hole) is here: print message 1 \"O.K.\"; go to room 11 (hole); describe the room","t":"byte","b":[1]},{"a":38090,"c":"Action 132, DIG with any noun (verb 82, noun 0), if the player is in room 9 (hole): print message 1 \"O.K.\"; swap the counter with saved counter 1; add 1 to the counter; swap the counter with saved counter 1","t":"byte","b":[82]},{"a":38091,"c":"Action 133, DIG with any noun (verb 82, noun 0), if the player is in room 10 (hole): print message 1 \"O.K.\"; swap the counter with saved counter 2; add 1 to the counter; swap the counter with saved counter 2","t":"byte","b":[82]},{"a":38092,"c":"Action 134, DIG with any noun (verb 82, noun 0), if the player is in room 11 (hole): print message 1 \"O.K.\"; swap the counter with saved counter 3; add 1 to the counter; swap the counter with saved counter 3","t":"byte","b":[82]},{"a":38093,"c":"Action 135, LIFT DOME (verb 83, noun 55), if item 11 (Large dome) is here, item 19 (Gem) is in room 0 and item 1 (Rage) is carried: put item 19 (Gem) here; print message 5 \"something\"; print message 28 \"here.\"; show room 85's picture","t":"byte","b":[83]},{"a":38094,"c":"Action 136, GET NOSE (verb 10, noun 61): print message 1 \"O.K.\"; set flag 10","t":"byte","b":[10]},{"a":38095,"c":"Action 137, CLOS EYES (verb 125, noun 62): print message 1 \"O.K.\"; set flag 11; make it dark; describe the room","t":"byte","b":[125]},{"a":38096,"c":"Action 138, OPEN EYES (verb 99, noun 62): print message 1 \"O.K.\"; clear flag 11; make it light; describe the room","t":"byte","b":[99]},{"a":38097,"c":"Action 139, PLUG EARS (verb 93, noun 64): print message 39 \"With what?\"; print message 40 \"Use 2 words like:\"; set flag 13; print message 47 \"USE GEM\"","t":"byte","b":[93]},{"a":38098,"c":"Action 140, USE WAX (verb 90, noun 33), if flag 13 is set and item 21 (Wax) is carried or here: print message 1 \"O.K.\"; clear flag 13; put item 21 (Wax) in room 0; set flag 12","t":"byte","b":[90]},{"a":38099,"c":"Action 141, UNPL EARS (verb 92, noun 64), if flag 12 is set: print message 1 \"O.K.\"; clear flag 12; carry item 21 (Wax) whatever the count","t":"byte","b":[92]},{"a":38100,"c":"Action 142, PLUG WAX (verb 93, noun 33): print message 41 \"Say again but tell me\"; print message 42 \"where?\"","t":"byte","b":[93]},{"a":38101,"c":"Action 143, USE FING (verb 90, noun 37): print message 6 \"Sorry,\"; print message 43 \"Too big!\"; print message 44 \"Doesn't work!\"","t":"byte","b":[90]},{"a":38102,"c":"Action 144, PLUG NOSE (verb 93, noun 61): print message 39 \"With what?\"; print message 40 \"Use 2 words like:\"; set flag 14; print message 47 \"USE GEM\"","t":"byte","b":[93]},{"a":38103,"c":"Action 145, USE WAX (verb 90, noun 33), if flag 14 is set and item 21 (Wax) is carried or here: go on into the next actions; clear flag 14; put item 21 (Wax) in room 0; set flag 10","t":"byte","b":[90]},{"a":38104,"c":"Action 146, a continuation (it runs when an action before it set the continue flag): set flag 22; print message 1 \"O.K.\"","t":"byte","b":[0]},{"a":38105,"c":"Action 147, WAVE FAN (verb 28, noun 34), if item 1 (Rage) is not carried and item 23 (Metal Hand Fan) is carried: print message 77 \"I make a tiny breeze.\"; print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[28]},{"a":38106,"c":"Action 148, WAVE FAN (verb 28, noun 34), if item 1 (Rage) is carried and item 23 (Metal Hand Fan) is carried: print message 46 \"at what?\"; go on into the next actions; print message 40 \"Use 2 words like:\"; print message 48 \"AT TREE\"","t":"byte","b":[28]},{"a":38107,"c":"Action 149, a continuation (it runs when an action before it set the continue flag), if item 20 (Alien army ants) is here: put item 20 (Alien army ants) in room 0","t":"byte","b":[0]},{"a":38108,"c":"Action 150, a continuation (it runs when an action before it set the continue flag): set flag 17","t":"byte","b":[0]},{"a":38109,"c":"Action 151, GO DOME (verb 1, noun 55), if item 10 (Large dome) is here: go to room 5 (tunnel going out); clear flag 3; clear flag 4; describe the room","t":"byte","b":[1]},{"a":38110,"c":"Action 152, GO DOME (verb 1, noun 55), if item 5 (Large dome) is here: go to room 3 (tunnel going outside); clear flag 3; clear flag 4; describe the room","t":"byte","b":[1]},{"a":38111,"c":"Action 153, GO DOME (verb 1, noun 55), if the player is in room 3 (tunnel going outside): go to room 4 (field); set flag 3; set flag 4; describe the room","t":"byte","b":[1]},{"a":38112,"c":"Action 154, GO DOME (verb 1, noun 55), if the player is in room 5 (tunnel going out): go to room 7 (field); set flag 3; set flag 4; describe the room","t":"byte","b":[1]},{"a":38113,"c":"Action 155, GO DOME (verb 1, noun 55), if the player is in room 6 (tunnel going out): go to room 8 (field); set flag 3; set flag 4; describe the room","t":"byte","b":[1]},{"a":38114,"c":"Action 156, BITE EGG (verb 70, noun 108), if item 17 (Natter energy egg) is carried or here and item 1 (Rage) is carried: print message 1 \"O.K.\"; put item 17 (Natter energy egg) in room 0","t":"byte","b":[70]},{"a":38115,"c":"Action 157, BITE EGG (verb 70, noun 108), if item 17 (Natter energy egg) is carried or here and item 1 (Rage) is not carried: print message 31 \"Egg explodes ...\"; die; put item 17 (Natter energy egg) in room 0; put item 18 (Bio gem) in room 0","t":"byte","b":[70]},{"a":38116,"c":"Action 158, THIN with any noun (verb 24, noun 0): print message 9 \"How?\"; print message 53 \"you're doing my thinking!\"","t":"byte","b":[24]},{"a":38117,"c":"Action 159, LOOK MESH (verb 39, noun 35), if item 25 (Wire mesh in wall with bee size holes) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 50 \"outside\"","t":"byte","b":[39]},{"a":38118,"c":"Action 160, GET WAX (verb 10, noun 33), if item 24 (Killer Bees) is here, item 1 (Rage) is not carried and item 21 (Wax) is here: print message 6 \"Sorry,\"; print message 51 \"I'm stung!\"; print message 20 \"Ouch! I scream!(newline)\"; set flag 7","t":"byte","b":[10]},{"a":38119,"c":"Action 161, GET WAX (verb 10, noun 33), if item 21 (Wax) is carried or here: print message 1 \"O.K.\"; carry item 21 (Wax) whatever the count","t":"byte","b":[10]},{"a":38120,"c":"Action 162, GO MESH (verb 1, noun 35): print message 6 \"Sorry,\"; print message 9 \"How?\"; print message 18 \"I'm\"; print message 43 \"Too big!\"","t":"byte","b":[1]},{"a":38121,"c":"Action 163, LOOK BASE (verb 39, noun 26), if the player is in room 14 (dome), flag 15 is clear, item 27 (Small gas outlet) is not here and item 28 (Plugged gas outlet) is not here: put item 27 (Small gas outlet) here; print message 2 \"I see\"; print message 5 \"something\"; describe the room","t":"byte","b":[39]},{"a":38122,"c":"Action 164, PLUG HOLE (verb 93, noun 66), if item 27 (Small gas outlet) is here: print message 39 \"With what?\"; print message 40 \"Use 2 words like:\"; print message 47 \"USE GEM\"; set flag 18","t":"byte","b":[93]},{"a":38123,"c":"Action 165, USE WAX (verb 90, noun 33), if flag 18 is set, item 21 (Wax) is carried or here and item 27 (Small gas outlet) is carried or here: print message 1 \"O.K.\"; swap the places of item 27 (Small gas outlet) and item 28 (Plugged gas outlet); go on into the next actions","t":"byte","b":[90]},{"a":38124,"c":"Action 166, a continuation (it runs when an action before it set the continue flag): put item 21 (Wax) in room 0; clear flag 18","t":"byte","b":[0]},{"a":38125,"c":"Action 167, UNPL HOLE (verb 92, noun 66), if item 28 (Plugged gas outlet) is here: print message 1 \"O.K.\"; swap the places of item 27 (Small gas outlet) and item 28 (Plugged gas outlet); carry item 21 (Wax) whatever the count","t":"byte","b":[92]},{"a":38126,"c":"Action 168, HIT CHIE (verb 51, noun 126), if the player is in room 19 (room with the Chief Examiner w...): print message 90 \"Chief Examiner notices me & says:(newline)\"How did you get out of the Computer? I'm not ready for you(newline)yet! No matter...  BEGONE!\"(newline)\"; go to room 16 (fuzzy area); describe the room","t":"byte","b":[51]},{"a":38127,"c":"Action 169, AT ANTS (verb 29, noun 72), if flag 17 is set, item 20 (Alien army ants) is here and item 23 (Metal Hand Fan) is carried: print message 49 \"I send a gale at it!\"; print message 45 \"more\"; clear flag 17; put item 20 (Alien army ants) in room 0","t":"byte","b":[29]},{"a":38128,"c":"Action 170, GET BIO (verb 10, noun 124), if item 18 (Bio gem) is carried or here: print message 1 \"O.K.\"; carry item 18 (Bio gem) whatever the count","t":"byte","b":[10]},{"a":38129,"c":"Action 171, DROP BIO (verb 18, noun 124), if item 18 (Bio gem) is carried or here: print message 1 \"O.K.\"; put item 18 (Bio gem) here","t":"byte","b":[18]},{"a":38130,"c":"Action 172, LIFT RING (verb 83, noun 83), if item 33 (Large iron ring set in floor) is carried or here and item 1 (Rage) is carried: print message 1 \"O.K.\"; swap the places of item 33 (Large iron ring set in floor) and item 34 (Open hole in floor); describe the room; go on into the next actions","t":"byte","b":[83]},{"a":38131,"c":"Action 173, a continuation (it runs when an action before it set the continue flag): put item 39 (Hole in ceiling) in room 15 (small underground room)","t":"byte","b":[0]},{"a":38132,"c":"Action 174, GO HOLE (verb 1, noun 66), if item 34 (Open hole in floor) is here: print message 1 \"O.K.\"; go to room 15 (small underground room); describe the room","t":"byte","b":[1]},{"a":38133,"c":"Action 175, SAY DR (verb 32, noun 77), if item 26 (Astral projection of Dr. Strange) is here and flag 19 is clear: print message 1 \"O.K.\"; print message 54 \"Strange says:\"; set flag 19; print message 55 \"\"Remember your worst enemy NIGHTMARE\"\"","t":"byte","b":[32]},{"a":38134,"c":"Action 176, SAY DR (verb 32, noun 77), if item 26 (Astral projection of Dr. Strange) is here, flag 19 is set and flag 20 is clear: print message 54 \"Strange says:\"; print message 61 \"\"Look for Scott's next Marvel Adventure at your(newline)favorite store!\" - Nuff said.\"; set flag 20","t":"byte","b":[32]},{"a":38135,"c":"Action 177, OPEN DOOR (verb 99, noun 123), if the player is in room 19 (room with the Chief Examiner w...): print message 90 \"Chief Examiner notices me & says:(newline)\"How did you get out of the Computer? I'm not ready for you(newline)yet! No matter...  BEGONE!\"(newline)\"; go to room 16 (fuzzy area); describe the room","t":"byte","b":[99]},{"a":38136,"c":"Action 178, SAY DR (verb 32, noun 77), if item 26 (Astral projection of Dr. Strange) is here and flag 20 is set: print message 56 \"Arcane energies blaze and he vanishes!\"; set flag 21; put item 26 (Astral projection of Dr. Strange) in room 0; put item 35 (Gem) here","t":"byte","b":[32]},{"a":38137,"c":"Action 179, PUSH BUTT (verb 68, noun 88), if item 36 (Button in wall) is here and flag 5 is clear: print message 1 \"O.K.\"; set flag 5; print message 58 \"Voice says: \"Delay\"; print message 59 \"on\"\"","t":"byte","b":[68]},{"a":38138,"c":"Action 180, PUSH BUTT (verb 68, noun 88), if item 36 (Button in wall) is here and flag 5 is set: print message 1 \"O.K.\"; clear flag 5; print message 58 \"Voice says: \"Delay\"; print message 60 \"off\"\"","t":"byte","b":[68]},{"a":38139,"c":"Action 181, HIT BEES (verb 51, noun 21), if item 24 (Killer Bees) is here and item 1 (Rage) is not carried: print message 6 \"Sorry,\"; print message 51 \"I'm stung!\"; print message 20 \"Ouch! I scream!(newline)\"; set flag 7","t":"byte","b":[51]},{"a":38140,"c":"Action 182, GET WAX (verb 10, noun 33), if item 28 (Plugged gas outlet) is here: print message 1 \"O.K.\"; swap the places of item 27 (Small gas outlet) and item 28 (Plugged gas outlet); carry item 21 (Wax) whatever the count","t":"byte","b":[10]},{"a":38141,"c":"Action 183, FAN with any noun (verb 75, noun 0): print message 62 \"Wave it!\"","t":"byte","b":[75]},{"a":38142,"c":"Action 184, LOOK HOLE (verb 39, noun 66), if item 25 (Wire mesh in wall with bee size holes) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 50 \"outside\"","t":"byte","b":[39]},{"a":38143,"c":"Action 185, GET WAX (verb 10, noun 33), if flag 12 is set: print message 1 \"O.K.\"; clear flag 12; carry item 21 (Wax) whatever the count","t":"byte","b":[10]},{"a":38144,"c":"Action 186, OPEN CAGE (verb 99, noun 121), if item 47 (Small cage) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[99]},{"a":38145,"c":"Action 187, LOOK SIGN (verb 39, noun 54), if item 38 (Sign) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 63 \"leave gems here: SCORE.\"","t":"byte","b":[39]},{"a":38146,"c":"Action 188, LOOK HOLE (verb 39, noun 66), if item 27 (Small gas outlet) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 64 \"it's just a hole.\"","t":"byte","b":[39]},{"a":38147,"c":"Action 189, GO CAGE (verb 1, noun 121), if item 47 (Small cage) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[1]},{"a":38148,"c":"Action 190, LOOK FAN (verb 39, noun 34), if item 23 (Metal Hand Fan) is carried or here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 65 \"no moving parts.\"","t":"byte","b":[39]},{"a":38149,"c":"Action 191, GO HOLE (verb 1, noun 66), if item 39 (Hole in ceiling) is here and item 4 (Gem) is not here: print message 1 \"O.K.\"; go to room 2 (dome); describe the room","t":"byte","b":[1]},{"a":38150,"c":"Action 192, LOOK AREA (verb 39, noun 95), if the player is in room 16 (fuzzy area): print message 1 \"O.K.\"; print message 2 \"I see\"; print message 67 \"space is warped here!\"","t":"byte","b":[39]},{"a":38151,"c":"Action 193, DIG with any noun (verb 82, noun 0): print message 7 \"I\"; print message 8 \"can't do that\"; print message 28 \"here.\"","t":"byte","b":[82]},{"a":38152,"c":"Action 194, HIT DR (verb 51, noun 77), if item 26 (Astral projection of Dr. Strange) is here: print message 54 \"Strange says:\"; print message 68 \"\"That's not nice!\"\"; put item 26 (Astral projection of Dr. Strange) in room 0; set flag 21","t":"byte","b":[51]},{"a":38153,"c":"Action 195, LOOK EGG (verb 39, noun 108), if item 17 (Natter energy egg) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 95 \"it's size of a chicken egg but glowing!\"","t":"byte","b":[39]},{"a":38154,"c":"Action 196, GET DOME (verb 10, noun 55): print message 6 \"Sorry,\"; print message 73 \"won't fit in my inventory.\"","t":"byte","b":[10]},{"a":38155,"c":"Action 197, GO CRAC (verb 1, noun 115), if item 40 (Crack in floor) is here: print message 1 \"O.K.\"; go to room 12 (cavern); describe the room","t":"byte","b":[1]},{"a":38156,"c":"Action 198, GO CRAC (verb 1, noun 115), if item 41 (Crack in rock) is here: print message 1 \"O.K.\"; go to room 15 (small underground room); describe the room","t":"byte","b":[1]},{"a":38157,"c":"Action 199, SAY ULTR (verb 32, noun 120), if item 45 (ULTRON) is here: print message 96 \"ULTRON says:\"Stay back! You'll never free my creator from my(newline)clutches!\"\"","t":"byte","b":[32]},{"a":38158,"c":"Action 200, SCRA WALL (verb 17, noun 110), if item 1 (Rage) is not carried: print message 6 \"Sorry,\"; print message 44 \"Doesn't work!\"; print message 18 \"I'm\"; print message 75 \"too weak!\"","t":"byte","b":[17]},{"a":38159,"c":"Action 201, LOOK SIGN (verb 39, noun 54), if item 43 (Sign) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 76 \"\"Bad move, please be more careful! Now try again!\"(newline)- signed Chief Examiner.\"","t":"byte","b":[39]},{"a":38160,"c":"Action 202, SCOR with any noun (verb 47, noun 0): swap the counter with saved counter 5; set the counter to 4; put the room in saved room 0, where a swap was meant, and stay in it (command 80); go on into the next actions","t":"byte","b":[47]},{"a":38161,"c":"Action 203, a continuation (it runs when an action before it set the continue flag), if item 4 (Gem) is here, item 12 (Gem) is here, item 16 (Gem) is here, item 18 (Bio gem) is here and item 19 (Gem) is here: take one from the counter","t":"byte","b":[0]},{"a":38162,"c":"Action 204, a continuation (it runs when an action before it set the continue flag), if the counter is 3, item 29 (Gem) is here, item 30 (Gem) is here, item 31 (Gem) is here and item 32 (Gem) is here: take one from the counter","t":"byte","b":[0]},{"a":38163,"c":"Action 205, a continuation (it runs when an action before it set the continue flag), if the counter is 2, item 37 (Gem) is here, item 35 (Gem) is here, item 42 (Gem) is here and item 44 (Gem) is here: take one from the counter","t":"byte","b":[0]},{"a":38164,"c":"Action 206, a continuation (it runs when an action before it set the continue flag), if the counter is 1, item 46 (Gem) is here, item 48 (Gem) is here, item 50 (Gem) is here and item 51 (Gem) is here: take one from the counter","t":"byte","b":[0]},{"a":38165,"c":"Action 207, a continuation (it runs when an action before it set the continue flag), if the counter is 0: print message 84 \"Chief Examiner appears & says:(newline)\"Save this password: ARIA\".(newline)\"; pause; pause; show room 87's picture","t":"byte","b":[0]},{"a":38166,"c":"Action 208, a continuation (it runs when an action before it set the continue flag): swap the counter with saved counter 5; put the room in saved room 0, where a swap was meant, and stay in it (command 80); describe the room; score","t":"byte","b":[0]},{"a":38167,"c":"Action 209, LOOK CAGE (verb 39, noun 121), if item 47 (Small cage) is here: print message 1 \"O.K.\"; print message 2 \"I see\"; print message 85 \"Ant-Man in it!\"","t":"byte","b":[39]},{"a":38168,"c":"Action 210, GET CAGE (verb 10, noun 121), if item 47 (Small cage) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[10]},{"a":38169,"c":"Action 211, GET ULTR (verb 10, noun 120), if item 45 (ULTRON) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[10]},{"a":38170,"c":"Action 212, SAY ANTS (verb 32, noun 72), if item 47 (Small cage) is here: print message 88 \"Ant-Man says: \"Help me! Bring my friends!\"\"","t":"byte","b":[32]},{"a":38171,"c":"Action 213, TURN RING (verb 127, noun 83), if item 33 (Large iron ring set in floor) is here and item 1 (Rage) is not carried: print message 6 \"Sorry,\"; print message 24 \"won't budge!\"","t":"byte","b":[127]},{"a":38172,"c":"Action 214, TURN RING (verb 127, noun 83), if item 33 (Large iron ring set in floor) is here and item 1 (Rage) is carried: put item 33 (Large iron ring set in floor) in room 0; print message 6 \"Sorry,\"; print message 30 \"it's\"; print message 14 \"crushed!\"","t":"byte","b":[127]},{"a":38173,"c":"Action 215, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38174,"c":"Action 216, JUMP UP (verb 80, noun 5): print message 1 \"O.K.\"; print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[80]},{"a":38175,"c":"Action 217, LOOK PROG (verb 39, noun 10), if the player is in room 19 (room with the Chief Examiner w...): print message 2 \"I see\"; print message 93 \"it's the next Scott Adams Marvel Adventure!\"","t":"byte","b":[39]},{"a":38176,"c":"Action 218, USE GEM (verb 90, noun 41): print message 6 \"Sorry,\"; print message 43 \"Too big!\"; clear flag 13; clear flag 14","t":"byte","b":[90]},{"a":38177,"c":"Action 219, HELP with any noun (verb 49, noun 0): print message 6 \"Sorry,\"; print message 7 \"I\"; print message 8 \"can't do that\"; print message 91 \"(newline)But ask for a Scott Adams Hint Book at your favorite store!\"","t":"byte","b":[49]},{"a":38178,"c":"Action 220, GO DOOR (verb 1, noun 123), if the player is in room 19 (room with the Chief Examiner w...): print message 90 \"Chief Examiner notices me & says:(newline)\"How did you get out of the Computer? I'm not ready for you(newline)yet! No matter...  BEGONE!\"(newline)\"; go to room 16 (fuzzy area); describe the room","t":"byte","b":[1]},{"a":38179,"c":"Action 221, GET INVE (verb 10, noun 8), if flag 15 is clear and the player is not in room 1 (I'm Bruce Banner, tied hand &...): print message 1 \"O.K.\"; list what is carried","t":"byte","b":[10]},{"a":38180,"c":"Action 222, INVE with any noun (verb 50, noun 0), if flag 15 is clear and the player is not in room 1 (I'm Bruce Banner, tied hand &...): print message 1 \"O.K.\"; list what is carried","t":"byte","b":[50]},{"a":38181,"c":"Action 223, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38182,"c":"Action 224, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38183,"c":"Action 225, USE with any noun (verb 90, noun 0): print message 6 \"Sorry,\"; print message 9 \"How?\"","t":"byte","b":[90]},{"a":38184,"c":"Action 226, FIND with any noun (verb 25, noun 0): print message 6 \"Sorry,\"; print message 9 \"How?\"","t":"byte","b":[25]},{"a":38185,"c":"Action 227, AT with any noun (verb 29, noun 0), if flag 17 is set and item 1 (Rage) is carried: print message 49 \"I send a gale at it!\"; print message 3 \"Nothing\"; print message 23 \"happens.\"; clear flag 17","t":"byte","b":[29]},{"a":38186,"c":"Action 228, AT with any noun (verb 29, noun 0), if flag 17 is set: print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"; clear flag 17","t":"byte","b":[29]},{"a":38187,"c":"Action 229, WIGG with any noun (verb 105, noun 0): print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[105]},{"a":38188,"c":"Action 230, BITE with any noun (verb 70, noun 0): print message 6 \"Sorry,\"; print message 7 \"I\"; print message 8 \"can't do that\"; print message 28 \"here.\"","t":"byte","b":[70]},{"a":38189,"c":"Action 231, UNTI with any noun (verb 121, noun 0), if the player is in room 0 (nowhere): no commands, so it does nothing","t":"byte","b":[121]},{"a":38190,"c":"Action 232, BECO with any noun (verb 118, noun 0): print message 9 \"How?\"","t":"byte","b":[118]},{"a":38191,"c":"Action 233, KILL with any noun (verb 100, noun 0): print message 9 \"How?\"","t":"byte","b":[100]},{"a":38192,"c":"Action 234, AT with any noun (verb 29, noun 0): print message 6 \"Sorry,\"; print message 41 \"Say again but tell me\"; print message 39 \"With what?\"","t":"byte","b":[29]},{"a":38193,"c":"Action 235, a continuation (it runs when an action before it set the continue flag): no commands, so it does nothing","t":"byte","b":[0]},{"a":38194,"c":"Action 236, HIT with any noun (verb 51, noun 0), if item 1 (Rage) is carried: print message 6 \"Sorry,\"; print message 10 \"The Incredible Hulk (Tm)\"; print message 57 \"is no vandal!\"","t":"byte","b":[51]},{"a":38195,"c":"Action 237, HIT with any noun (verb 51, noun 0), if item 1 (Rage) is not carried: print message 6 \"Sorry,\"; print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[51]},{"a":38196,"c":"Action 238, REME with any noun (verb 102, noun 0): print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[102]},{"a":38197,"c":"Action 239, SLEE with any noun (verb 87, noun 0), if item 1 (Rage) is carried: put item 1 (Rage) in room 0; print message 18 \"I'm\"; print message 12 \"Bruce Banner\"; print message 22 \"now!(newline)\"","t":"byte","b":[87]},{"a":38198,"c":"Action 240, SLEE with any noun (verb 87, noun 0), if item 1 (Rage) is not carried: print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[87]},{"a":38199,"c":"Action 241, DROP MAD (verb 18, noun 27), if item 1 (Rage) is carried: put item 1 (Rage) in room 0; print message 18 \"I'm\"; print message 12 \"Bruce Banner\"; print message 22 \"now!(newline)\"","t":"byte","b":[18]},{"a":38200,"c":"Action 242, SCRA WALL (verb 17, noun 110), if item 1 (Rage) is carried: print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[17]},{"a":38201,"c":"Action 243, GO DOME (verb 1, noun 55), if item 11 (Large dome) is here: go to room 6 (tunnel going out); clear flag 3; clear flag 4; describe the room","t":"byte","b":[1]},{"a":38202,"c":"Action 244, GET WAX (verb 10, noun 33), if flag 22 is set: print message 1 \"O.K.\"; clear flag 22; clear flag 10; carry item 21 (Wax) whatever the count","t":"byte","b":[10]},{"a":38203,"c":"Action 245, UNPL NOSE (verb 92, noun 61), if flag 22 is set: print message 1 \"O.K.\"; clear flag 22; clear flag 10; carry item 21 (Wax) whatever the count","t":"byte","b":[92]},{"a":38204,"c":"Action 246, FREE NOSE (verb 7, noun 61), if flag 22 is clear and flag 10 is set: print message 1 \"O.K.\"; clear flag 10","t":"byte","b":[7]},{"a":38205,"c":"Action 247, TURN with any noun (verb 127, noun 0): print message 6 \"Sorry,\"; print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[127]},{"a":38206,"c":"Action 248, MAKE with any noun (verb 22, noun 0): print message 6 \"Sorry,\"; print message 7 \"I\"; print message 8 \"can't do that\"; print message 22 \"now!(newline)\"","t":"byte","b":[22]},{"a":38207,"c":"Action 249, LIFT CAGE (verb 83, noun 121), if item 47 (Small cage) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[83]},{"a":38208,"c":"Action 250, ROCK CAGE (verb 76, noun 121), if item 47 (Small cage) is here: print message 6 \"Sorry,\"; print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[76]},{"a":38209,"c":"Action 251, CLOS TONG (verb 125, noun 46): print message 1 \"O.K.\"","t":"byte","b":[125]},{"a":38210,"c":"Action 252, STOP with any noun (verb 117, noun 0): print message 9 \"How?\"","t":"byte","b":[117]},{"a":38211,"c":"Action 253, SAY with any noun (verb 32, noun 0), if the player is in room 19 (room with the Chief Examiner w...): print message 90 \"Chief Examiner notices me & says:(newline)\"How did you get out of the Computer? I'm not ready for you(newline)yet! No matter...  BEGONE!\"(newline)\"; go to room 16 (fuzzy area); describe the room","t":"byte","b":[32]},{"a":38212,"c":"Action 254, LOOK CHIE (verb 39, noun 126), if the player is in room 19 (room with the Chief Examiner w...): print message 92 \"He's writing a computer program!\"; put item 49 (Program) here; describe the room","t":"byte","b":[39]},{"a":38213,"c":"Action 255, PUSH ULTR (verb 68, noun 120), if item 45 (ULTRON) is here: print message 86 \"ULTRON's pressor beams stop me!\"","t":"byte","b":[68]},{"a":38214,"c":"Action 256, SCRA with any noun (verb 17, noun 0): print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[17]},{"a":38215,"c":"Action 257, GET PROG (verb 10, noun 10), if the player is in room 19 (room with the Chief Examiner w...): print message 90 \"Chief Examiner notices me & says:(newline)\"How did you get out of the Computer? I'm not ready for you(newline)yet! No matter...  BEGONE!\"(newline)\"; go to room 16 (fuzzy area); describe the room","t":"byte","b":[10]},{"a":38216,"c":"Action 258, CLOS with any noun (verb 125, noun 0): print message 9 \"How?\"","t":"byte","b":[125]},{"a":38217,"c":"Action 259, LIFT with any noun (verb 83, noun 0): print message 3 \"Nothing\"; print message 4 \"special\"; print message 23 \"happens.\"","t":"byte","b":[83]},{"a":38218,"c":"Action 260, LOOK with any noun (verb 39, noun 0), if flag 15 is clear: print message 2 \"I see\"; print message 3 \"Nothing\"; print message 4 \"special\"; describe the room","t":"byte","b":[39]},{"a":38219,"c":"Action 261, SAY with any noun (verb 32, noun 0): clear flag 6; print message 1 \"O.K.\"; print the noun typed and a newline","t":"byte","b":[32]},{"a":38220,"l":"action_nouns","c":"The actions' noun column, a byte for each action: the noun it needs, 0 for any; for an automatic action (verb 0) the chance in 100 that it runs each turn","t":"byte","b":[0,0,100,0,0,0,100,100],"x":[32818]},{"a":38228,"t":"byte","b":[100,100,0,100,0,100,0,100]},{"a":38236,"t":"byte","b":[0,0,0,0,100,0,0,0]},{"a":38244,"t":"byte","b":[0,100,0,0,0,0,0,100]},{"a":38252,"t":"byte","b":[0,100,0,0,45,100,100,0]},{"a":38260,"t":"byte","b":[100,100,0,0,0,0,50,100]},{"a":38268,"t":"byte","b":[20,33,40,100,100,100,100,100]},{"a":38276,"t":"byte","b":[100,0,0,0,0,0,100,0]},{"a":38284,"t":"byte","b":[100,100,100,0,100,0,0,54]},{"a":38292,"t":"byte","b":[84,0,7,69,128,0,0,125]},{"a":38300,"t":"byte","b":[0,120,110,35,55,66,0,21]},{"a":38308,"t":"byte","b":[55,55,83,110,110,21,55,41]},{"a":38316,"t":"byte","b":[21,55,72,0,11,9,9,0]},{"a":38324,"t":"byte","b":[0,0,0,0,46,46,35,33]},{"a":38332,"t":"byte","b":[0,0,12,12,12,12,12,46]},{"a":38340,"t":"byte","b":[27,5,0,54,54,54,0,0]},{"a":38348,"t":"byte","b":[0,66,66,66,0,0,0,55]},{"a":38356,"t":"byte","b":[61,62,62,64,33,64,33,37]},{"a":38364,"t":"byte","b":[61,33,0,34,34,0,0,55]},{"a":38372,"t":"byte","b":[55,55,55,55,108,108,0,35]},{"a":38380,"t":"byte","b":[33,33,35,26,66,33,0,66]},{"a":38388,"t":"byte","b":[126,72,124,124,83,0,66,77]},{"a":38396,"t":"byte","b":[77,123,77,88,88,21,33,0]},{"a":38404,"t":"byte","b":[66,33,121,54,66,121,34,66]},{"a":38412,"t":"byte","b":[95,0,77,108,55,115,115,120]},{"a":38420,"t":"byte","b":[110,54,0,0,0,0,0,0]},{"a":38428,"t":"byte","b":[0,121,121,120,72,83,83,0]},{"a":38436,"t":"byte","b":[5,10,41,0,123,8,0,0]},{"a":38444,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38452,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":38460,"t":"byte","b":[0,27,110,55,33,61,61,0]},{"a":38468,"t":"byte","b":[0,121,121,46,0,0,126,120]},{"a":38476,"t":"byte","b":[0,10,0,0,0,0]},{"a":38482,"l":"action_commands_1","c":"Command column 1 of 4, a byte for each action: 0 nothing, 1 to 51 a message, 52 to 101 a command handler, 102 and up message n - 50","t":"byte","b":[0,0,58,81,81,54,79,79],"x":[32820]},{"a":38490,"t":"byte","b":[79,60,0,74,60,21,90,73]},{"a":38498,"t":"byte","b":[53,10,122,81,81,53,10,122]},{"a":38506,"t":"byte","b":[81,32,33,35,34,12,36,53]},{"a":38514,"t":"byte","b":[0,53,5,88,2,13,59,61]},{"a":38522,"t":"byte","b":[58,73,10,53,122,81,59,59]},{"a":38530,"t":"byte","b":[54,54,54,54,59,54,128,81]},{"a":38538,"t":"byte","b":[81,133,81,0,0,0,77,59]},{"a":38546,"t":"byte","b":[79,59,60,60,137,59,0,147]},{"a":38554,"t":"byte","b":[82,16,0,6,53,39,60,144]},{"a":38562,"t":"byte","b":[6,6,18,1,1,6,60,49]},{"a":38570,"t":"byte","b":[53,5,6,1,53,1,6,1]},{"a":38578,"t":"byte","b":[2,1,1,7,1,1,2,15]},{"a":38586,"t":"byte","b":[15,15,16,0,20,20,1,9]},{"a":38594,"t":"byte","b":[7,0,20,20,41,1,1,1]},{"a":38602,"t":"byte","b":[9,0,1,1,1,1,1,1]},{"a":38610,"t":"byte","b":[1,1,1,1,1,1,1,53]},{"a":38618,"t":"byte","b":[1,1,1,39,1,1,41,6]},{"a":38626,"t":"byte","b":[39,73,58,127,46,59,58,54]},{"a":38634,"t":"byte","b":[54,54,54,54,1,31,9,1]},{"a":38642,"t":"byte","b":[6,1,6,53,39,1,59,1]},{"a":38650,"t":"byte","b":[140,49,1,1,1,62,1,1]},{"a":38658,"t":"byte","b":[104,140,106,1,1,6,1,112]},{"a":38666,"t":"byte","b":[1,1,6,1,1,6,1,1]},{"a":38674,"t":"byte","b":[1,7,104,1,6,1,1,146]},{"a":38682,"t":"byte","b":[6,1,81,77,77,77,77,134]},{"a":38690,"t":"byte","b":[81,1,6,6,138,6,59,0]},{"a":38698,"t":"byte","b":[1,2,6,6,140,1,1,0]},{"a":38706,"t":"byte","b":[0,6,6,49,3,3,6,0]},{"a":38714,"t":"byte","b":[9,9,6,0,6,6,3,59]},{"a":38722,"t":"byte","b":[3,59,3,54,1,1,1,6]},{"a":38730,"t":"byte","b":[6,6,6,1,9,140,142,136]},{"a":38738,"t":"byte","b":[3,140,9,3,2,60]},{"a":38744,"l":"action_commands_2","c":"Command column 2 of 4, a byte for each action: 0 nothing, 1 to 51 a message, 52 to 101 a command handler, 102 and up message n - 50","t":"byte","b":[0,0,79,79,79,11,0,0],"x":[32822]},{"a":38752,"t":"byte","b":[0,60,0,18,22,60,90,81]},{"a":38760,"t":"byte","b":[76,29,0,0,73,76,29,0]},{"a":38768,"t":"byte","b":[0,38,61,61,61,22,0,76]},{"a":38776,"t":"byte","b":[0,76,88,88,102,18,31,0]},{"a":38784,"t":"byte","b":[119,81,29,76,0,0,0,0]},{"a":38792,"t":"byte","b":[76,76,76,76,66,76,79,79]},{"a":38800,"t":"byte","b":[77,61,0,0,0,0,19,18]},{"a":38808,"t":"byte","b":[0,76,60,0,59,53,0,149]},{"a":38816,"t":"byte","b":[10,90,0,7,76,58,44,0]},{"a":38824,"t":"byte","b":[136,136,132,2,2,129,127,60]},{"a":38832,"t":"byte","b":[5,28,24,2,2,49,7,2]},{"a":38840,"t":"byte","b":[116,49,45,8,71,2,10,0]},{"a":38848,"t":"byte","b":[0,0,90,0,58,58,49,66]},{"a":38856,"t":"byte","b":[26,0,58,58,42,7,7,7]},{"a":38864,"t":"byte","b":[0,0,65,2,2,2,53,53]},{"a":38872,"t":"byte","b":[53,54,54,54,81,81,81,5]},{"a":38880,"t":"byte","b":[58,58,60,40,60,60,42,43]},{"a":38888,"t":"byte","b":[40,60,1,3,73,0,0,60]},{"a":38896,"t":"byte","b":[60,58,58,58,59,61,103,2]},{"a":38904,"t":"byte","b":[51,74,9,2,40,72,60,72]},{"a":38912,"t":"byte","b":[54,45,74,53,72,0,54,104]},{"a":38920,"t":"byte","b":[111,54,58,58,60,51,72,0]},{"a":38928,"t":"byte","b":[2,60,136,2,2,136,2,54]},{"a":38936,"t":"byte","b":[2,8,118,2,123,54,54,0]},{"a":38944,"t":"byte","b":[44,2,79,0,0,0,0,88]},{"a":38952,"t":"byte","b":[80,2,136,136,0,24,6,0]},{"a":38960,"t":"byte","b":[3,143,43,7,54,66,66,0]},{"a":38968,"t":"byte","b":[0,9,9,3,4,4,7,0]},{"a":38976,"t":"byte","b":[0,0,41,0,10,3,4,18]},{"a":38984,"t":"byte","b":[4,18,4,60,60,60,60,3]},{"a":38992,"t":"byte","b":[7,136,136,0,0,54,53,0]},{"a":39000,"t":"byte","b":[4,54,0,4,3,1]},{"a":39006,"l":"action_commands_3","c":"Command column 3 of 4, a byte for each action: 0 nothing, 1 to 51 a message, 52 to 101 a command handler, 102 and up message n - 50","t":"byte","b":[0,0,73,81,54,148,0,0],"x":[32824]},{"a":39014,"t":"byte","b":[0,0,0,10,0,54,90,0]},{"a":39022,"t":"byte","b":[5,61,0,0,0,5,61,0]},{"a":39030,"t":"byte","b":[0,73,59,59,59,61,0,32]},{"a":39038,"t":"byte","b":[0,2,88,0,0,14,59,0]},{"a":39046,"t":"byte","b":[0,0,61,5,0,0,0,0]},{"a":39054,"t":"byte","b":[58,0,0,0,139,0,54,81]},{"a":39062,"t":"byte","b":[73,0,0,0,0,0,73,12]},{"a":39070,"t":"byte","b":[0,0,59,0,59,76,0,0]},{"a":39078,"t":"byte","b":[15,0,0,8,2,0,0,0]},{"a":39086,"t":"byte","b":[0,0,0,131,130,0,3,59]},{"a":39094,"t":"byte","b":[28,53,0,124,5,60,121,120]},{"a":39102,"t":"byte","b":[0,60,37,22,0,12,73,0]},{"a":39110,"t":"byte","b":[0,0,0,0,58,60,60,60]},{"a":39118,"t":"byte","b":[58,0,60,60,0,25,25,25]},{"a":39126,"t":"byte","b":[0,0,63,27,27,27,90,90]},{"a":39134,"t":"byte","b":[90,76,76,76,82,82,82,28]},{"a":39142,"t":"byte","b":[0,56,57,58,59,74,0,44]},{"a":39150,"t":"byte","b":[58,59,0,4,40,0,0,60]},{"a":39158,"t":"byte","b":[60,58,58,58,0,59,0,50]},{"a":39166,"t":"byte","b":[20,0,18,5,47,73,0,74]},{"a":39174,"t":"byte","b":[76,60,0,0,76,0,76,58]},{"a":39182,"t":"byte","b":[58,76,59,108,108,20,74,0]},{"a":39190,"t":"byte","b":[50,74,0,113,114,0,115,76]},{"a":39198,"t":"byte","b":[117,28,59,145,0,76,76,0]},{"a":39206,"t":"byte","b":[18,126,80,0,0,0,0,88]},{"a":39214,"t":"byte","b":[76,135,0,0,0,0,30,0]},{"a":39222,"t":"byte","b":[4,0,60,8,76,0,0,0]},{"a":39230,"t":"byte","b":[0,0,0,23,23,23,8,0]},{"a":39238,"t":"byte","b":[0,0,39,0,107,4,23,12]},{"a":39246,"t":"byte","b":[23,12,23,60,60,60,0,4]},{"a":39254,"t":"byte","b":[8,0,0,0,0,76,76,0]},{"a":39262,"t":"byte","b":[23,76,0,23,4,85]},{"a":39268,"l":"action_commands_4","c":"Command column 4 of 4, a byte for each action: 0 nothing, 1 to 51 a message, 52 to 101 a command handler, 102 and up message n - 50","t":"byte","b":[0,0,0,79,80,76,0,0],"x":[32826]},{"a":39276,"t":"byte","b":[0,0,0,73,0,73,0,0]},{"a":39284,"t":"byte","b":[28,0,0,0,0,28,0,0]},{"a":39292,"t":"byte","b":[0,0,0,0,0,59,0,37]},{"a":39300,"t":"byte","b":[0,73,88,0,0,61,73,0]},{"a":39308,"t":"byte","b":[0,0,0,28,0,0,0,0]},{"a":39316,"t":"byte","b":[0,0,0,0,0,0,58,0]},{"a":39324,"t":"byte","b":[0,0,0,0,0,0,0,22]},{"a":39332,"t":"byte","b":[0,0,73,0,73,0,0,0]},{"a":39340,"t":"byte","b":[73,0,0,28,5,0,0,0]},{"a":39348,"t":"byte","b":[0,0,0,0,0,0,23,0]},{"a":39356,"t":"byte","b":[76,76,0,0,23,59,0,0]},{"a":39364,"t":"byte","b":[0,59,0,0,0,90,17,0]},{"a":39372,"t":"byte","b":[0,0,0,0,60,0,59,60]},{"a":39380,"t":"byte","b":[58,0,0,0,0,3,3,3]},{"a":39388,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39396,"t":"byte","b":[0,0,0,0,81,81,81,90]},{"a":39404,"t":"byte","b":[0,76,76,47,58,0,0,0]},{"a":39412,"t":"byte","b":[47,58,0,23,48,0,0,76]},{"a":39420,"t":"byte","b":[76,76,76,76,0,59,0,0]},{"a":39428,"t":"byte","b":[58,0,43,76,58,0,0,0]},{"a":39436,"t":"byte","b":[0,59,0,0,73,0,0,105]},{"a":39444,"t":"byte","b":[0,0,53,109,110,58,0,0]},{"a":39452,"t":"byte","b":[0,0,0,0,0,0,0,0]},{"a":39460,"t":"byte","b":[0,0,58,0,0,0,0,0]},{"a":39468,"t":"byte","b":[125,0,73,0,0,0,0,90]},{"a":39476,"t":"byte","b":[65,0,0,0,0,0,14,0]},{"a":39484,"t":"byte","b":[23,0,60,141,0,0,0,0]},{"a":39492,"t":"byte","b":[0,0,0,60,60,0,28,0]},{"a":39500,"t":"byte","b":[0,0,0,0,0,23,0,22]},{"a":39508,"t":"byte","b":[0,22,0,76,74,74,0,23]},{"a":39516,"t":"byte","b":[22,0,0,0,0,0,0,0]},{"a":39524,"t":"byte","b":[0,0,0,0,76,0]},{"a":39530,"l":"action_conditions_1","c":"Condition column 1 of 5, a word for each action: value x 20 + type. Type 0 is not a test but a parameter for the commands","t":"word","b":[0,0,0,0,49,0,20,0],"d":[0,0,49,20],"x":[32828]},{"a":39538,"t":"word","b":[60,0,20,0,64,0,104,0],"d":[60,20,64,104]},{"a":39546,"t":"word","b":[124,0,48,1,0,0,148,0],"d":[124,304,0,148]},{"a":39554,"t":"word","b":[140,0,168,0,144,6,204,0],"d":[140,168,1680,204]},{"a":39562,"t":"word","b":[99,0,219,0,176,0,40,0],"d":[99,219,176,40]},{"a":39570,"t":"word","b":[224,0,159,0,219,0,176,0],"d":[224,159,219,176]},{"a":39578,"t":"word","b":[60,0,147,1,229,0,147,1],"d":[60,403,229,403]},{"a":39586,"t":"word","b":[147,1,26,0,147,1,158,1],"d":[403,26,403,414]},{"a":39594,"t":"word","b":[0,0,28,1,0,0,0,0],"d":[0,284,0,0]},{"a":39602,"t":"word","b":[28,1,68,0,87,1,26,0],"d":[284,68,343,26]},{"a":39610,"t":"word","b":[87,1,184,0,219,0,39,0],"d":[343,184,219,39]},{"a":39618,"t":"word","b":[176,0,20,0,122,1,156,1],"d":[176,20,378,412]},{"a":39626,"t":"word","b":[108,1,108,1,108,1,108,1],"d":[364,364,364,364]},{"a":39634,"t":"word","b":[105,1,88,1,21,0,51,1],"d":[361,344,21,307]},{"a":39642,"t":"word","b":[48,1,35,0,80,0,0,0],"d":[304,35,80,0]},{"a":39650,"t":"word","b":[0,0,0,0,21,0,15,0],"d":[0,0,21,15]},{"a":39658,"t":"word","b":[26,0,21,2,148,1,220,0],"d":[26,533,404,220]},{"a":39666,"t":"word","b":[134,3,144,1,0,0,38,4],"d":[902,400,0,1062]},{"a":39674,"t":"word","b":[21,0,224,6,4,0,24,0],"d":[21,1760,4,24]},{"a":39682,"t":"word","b":[128,1,224,1,232,1,0,0],"d":[384,480,488,0]},{"a":39690,"t":"word","b":[174,3,134,3,0,0,164,0],"d":[942,902,0,164]},{"a":39698,"t":"word","b":[164,0,186,1,26,0,92,1],"d":[164,442,26,348]},{"a":39706,"t":"word","b":[202,0,102,0,151,2,48,1],"d":[202,102,663,304]},{"a":39714,"t":"word","b":[46,3,92,1,0,0,107,1],"d":[814,348,0,363]},{"a":39722,"t":"word","b":[229,1,92,1,21,0,24,0],"d":[485,348,21,24]},{"a":39730,"t":"word","b":[0,0,43,0,43,0,16,0],"d":[0,43,43,16]},{"a":39738,"t":"word","b":[36,0,56,0,84,6,0,0],"d":[36,56,1620,0]},{"a":39746,"t":"word","b":[24,0,26,0,92,1,170,1],"d":[24,26,348,426]},{"a":39754,"t":"word","b":[24,0,0,0,26,0,27,0],"d":[24,0,26,27]},{"a":39762,"t":"word","b":[24,0,21,0,21,0,21,0],"d":[24,21,21,21]},{"a":39770,"t":"word","b":[0,0,4,0,0,0,122,0],"d":[0,4,0,122]},{"a":39778,"t":"word","b":[142,0,162,0,84,0,144,0],"d":[142,162,84,144]},{"a":39786,"t":"word","b":[164,0,6,1,26,1,46,1],"d":[164,262,282,302]},{"a":39794,"t":"word","b":[184,0,204,0,224,0,222,0],"d":[184,204,224,222]},{"a":39802,"t":"word","b":[200,0,220,0,220,0,4,1],"d":[200,220,220,260]},{"a":39810,"t":"word","b":[12,1,248,0,0,0,0,0],"d":[268,248,0,0]},{"a":39818,"t":"word","b":[24,1,32,1,184,1,26,0],"d":[280,288,440,26]},{"a":39826,"t":"word","b":[21,0,146,1,84,1,202,0],"d":[21,402,340,202]},{"a":39834,"t":"word","b":[102,0,64,0,104,0,124,0],"d":[102,64,104,124]},{"a":39842,"t":"word","b":[87,1,87,1,0,0,246,1],"d":[343,343,0,502]},{"a":39850,"t":"word","b":[226,1,167,1,0,0,28,1],"d":[482,423,0,284]},{"a":39858,"t":"word","b":[30,2,112,1,164,1,50,2],"d":[542,368,420,562]},{"a":39866,"t":"word","b":[128,1,92,1,107,1,107,1],"d":[384,348,363,363]},{"a":39874,"t":"word","b":[151,2,12,3,170,2,10,2],"d":[663,780,682,522]},{"a":39882,"t":"word","b":[10,2,128,1,10,2,210,2],"d":[522,384,522,722]},{"a":39890,"t":"word","b":[210,2,226,1,50,2,0,0],"d":[722,482,562,0]},{"a":39898,"t":"word","b":[246,1,248,0,174,3,250,2],"d":[502,248,942,762]},{"a":39906,"t":"word","b":[30,2,174,3,207,1,14,3],"d":[542,942,463,782]},{"a":39914,"t":"word","b":[68,1,0,0,10,2,86,1],"d":[324,0,522,342]},{"a":39922,"t":"word","b":[0,0,34,3,54,3,134,3],"d":[0,802,822,902]},{"a":39930,"t":"word","b":[26,0,94,3,100,0,82,0],"d":[26,862,100,82]},{"a":39938,"t":"word","b":[79,0,59,0,39,0,19,0],"d":[79,59,39,19]},{"a":39946,"t":"word","b":[100,0,174,3,174,3,134,3],"d":[100,942,942,902]},{"a":39954,"t":"word","b":[174,3,150,2,150,2,0,0],"d":[942,662,662,0]},{"a":39962,"t":"word","b":[0,0,128,1,4,1,0,0],"d":[0,384,260,0]},{"a":39970,"t":"word","b":[128,1,53,1,53,1,0,0],"d":[384,309,309,0]},{"a":39978,"t":"word","b":[0,0,0,0,0,0,92,1],"d":[0,0,0,348]},{"a":39986,"t":"word","b":[92,1,0,0,0,0,4,0],"d":[348,0,0,4]},{"a":39994,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40002,"t":"word","b":[21,0,26,0,0,0,21,0],"d":[21,26,0,21]},{"a":40010,"t":"word","b":[26,0,21,0,21,0,222,0],"d":[26,21,21,222]},{"a":40018,"t":"word","b":[192,1,192,1,193,1,0,0],"d":[448,448,449,0]},{"a":40026,"t":"word","b":[0,0,174,3,174,3,0,0],"d":[0,942,942,0]},{"a":40034,"t":"word","b":[0,0,128,1,128,1,134,3],"d":[0,384,384,902]},{"a":40042,"t":"word","b":[0,0,128,1,0,0,0,0],"d":[0,384,0,0]},{"a":40050,"t":"word","b":[53,1,120,0],"d":[309,120]},{"a":40054,"l":"action_conditions_2","c":"Condition column 2 of 5, a word for each action: value x 20 + type. Type 0 is not a test but a parameter for the commands","t":"word","b":[0,0,0,0,40,0,0,0],"d":[0,0,40,0],"x":[32830]},{"a":40062,"t":"word","b":[0,0,0,0,40,0,40,0],"d":[0,0,40,40]},{"a":40070,"t":"word","b":[40,0,88,0,0,0,20,0],"d":[40,88,0,20]},{"a":40078,"t":"word","b":[0,0,160,0,124,6,40,0],"d":[0,160,1660,40]},{"a":40086,"t":"word","b":[78,1,0,0,0,0,0,0],"d":[334,0,0,0]},{"a":40094,"t":"word","b":[60,0,126,3,0,0,0,0],"d":[60,894,0,0]},{"a":40102,"t":"word","b":[0,0,177,3,144,1,209,0],"d":[0,945,400,209]},{"a":40110,"t":"word","b":[249,0,144,1,0,0,144,0],"d":[249,400,0,144]},{"a":40118,"t":"word","b":[0,0,8,2,0,0,0,0],"d":[0,520,0,0]},{"a":40126,"t":"word","b":[21,0,26,0,188,0,0,0],"d":[21,26,188,0]},{"a":40134,"t":"word","b":[180,0,20,0,0,0,242,2],"d":[180,20,0,754]},{"a":40142,"t":"word","b":[0,0,0,0,116,1,157,1],"d":[0,0,372,413]},{"a":40150,"t":"word","b":[124,1,140,0,160,0,80,0],"d":[380,140,160,80]},{"a":40158,"t":"word","b":[147,1,64,1,76,0,80,0],"d":[403,320,76,80]},{"a":40166,"t":"word","b":[80,0,0,0,0,0,0,0],"d":[80,0,0,0]},{"a":40174,"t":"word","b":[0,0,0,0,89,0,20,0],"d":[0,0,89,20]},{"a":40182,"t":"word","b":[0,0,26,0,80,0,0,0],"d":[0,26,80,0]},{"a":40190,"t":"word","b":[147,1,152,3,0,0,0,0],"d":[403,920,0,0]},{"a":40198,"t":"word","b":[40,0,0,0,0,0,0,0],"d":[40,0,0,0]},{"a":40206,"t":"word","b":[192,3,0,0,224,1,0,0],"d":[960,0,480,0]},{"a":40214,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40222,"t":"word","b":[0,0,0,0,92,1,205,1],"d":[0,0,348,461]},{"a":40230,"t":"word","b":[246,3,10,4,26,0,0,0],"d":[1014,1034,26,0]},{"a":40238,"t":"word","b":[48,1,124,0,0,0,0,0],"d":[304,124,0,0]},{"a":40246,"t":"word","b":[0,0,222,0,146,1,0,0],"d":[0,222,402,0]},{"a":40254,"t":"word","b":[0,0,53,1,53,1,0,0],"d":[0,309,309,0]},{"a":40262,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40270,"t":"word","b":[140,0,140,0,222,0,4,1],"d":[140,140,222,260]},{"a":40278,"t":"word","b":[140,0,0,0,140,0,26,0],"d":[140,0,140,26]},{"a":40286,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40294,"t":"word","b":[0,0,0,0,0,0,53,1],"d":[0,0,0,309]},{"a":40302,"t":"word","b":[53,1,53,1,4,1,24,1],"d":[309,309,260,280]},{"a":40310,"t":"word","b":[44,1,180,0,200,0,220,0],"d":[300,180,200,220]},{"a":40318,"t":"word","b":[20,0,40,0,60,0,138,1],"d":[20,40,60,394]},{"a":40326,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40334,"t":"word","b":[4,1,240,0,0,0,0,0],"d":[260,240,0,0]},{"a":40342,"t":"word","b":[0,0,24,1,0,0,205,1],"d":[0,280,0,461]},{"a":40350,"t":"word","b":[205,1,144,1,0,0,100,0],"d":[461,400,0,100]},{"a":40358,"t":"word","b":[60,0,80,0,140,0,160,0],"d":[60,80,140,160]},{"a":40366,"t":"word","b":[84,1,26,0,0,0,0,0],"d":[340,26,0,0]},{"a":40374,"t":"word","b":[140,0,164,1,0,0,28,2],"d":[140,420,0,540]},{"a":40382,"t":"word","b":[104,1,167,1,104,1,28,2],"d":[360,423,360,540]},{"a":40390,"t":"word","b":[64,1,146,1,104,1,104,1],"d":[320,402,360,360]},{"a":40398,"t":"word","b":[21,0,44,1,44,1,124,1],"d":[21,300,300,380]},{"a":40406,"t":"word","b":[132,1,64,1,152,1,109,0],"d":[388,320,408,109]},{"a":40414,"t":"word","b":[108,0,26,0,28,2,0,0],"d":[108,26,540,0]},{"a":40422,"t":"word","b":[0,0,240,0,0,0,0,0],"d":[0,240,0,0]},{"a":40430,"t":"word","b":[0,0,0,0,0,0,40,0],"d":[0,0,0,40]},{"a":40438,"t":"word","b":[0,0,0,0,8,2,0,0],"d":[0,0,520,0]},{"a":40446,"t":"word","b":[0,0,240,0,44,1,0,0],"d":[0,240,300,0]},{"a":40454,"t":"word","b":[0,0,0,0,80,0,242,0],"d":[0,0,80,242]},{"a":40462,"t":"word","b":[70,2,230,2,154,3,204,6],"d":[582,742,922,1740]},{"a":40470,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40478,"t":"word","b":[0,0,26,0,21,0,0,0],"d":[0,26,21,0]},{"a":40486,"t":"word","b":[0,0,0,0,24,1,0,0],"d":[0,0,280,0]},{"a":40494,"t":"word","b":[64,1,27,0,27,0,0,0],"d":[320,27,27,0]},{"a":40502,"t":"word","b":[0,0,0,0,0,0,84,1],"d":[0,0,0,340]},{"a":40510,"t":"word","b":[84,1,0,0,0,0,0,0],"d":[340,0,0,0]},{"a":40518,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40526,"t":"word","b":[0,0,0,0,0,0,20,0],"d":[0,0,0,20]},{"a":40534,"t":"word","b":[0,0,20,0,0,0,120,0],"d":[0,20,0,120]},{"a":40542,"t":"word","b":[184,1,184,1,208,0,0,0],"d":[440,440,208,0]},{"a":40550,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40558,"t":"word","b":[0,0,64,1,212,3,0,0],"d":[0,320,980,0]},{"a":40566,"t":"word","b":[0,0,64,1,0,0,0,0],"d":[0,320,0,0]},{"a":40574,"t":"word","b":[0,0,0,0],"d":[0,0]},{"a":40578,"l":"action_conditions_3","c":"Condition column 3 of 5, a word for each action: value x 20 + type. Type 0 is not a test but a parameter for the commands","t":"word","b":[0,0,0,0,0,0,40,0],"d":[0,0,0,40],"x":[32832]},{"a":40586,"t":"word","b":[64,1,0,0,26,0,26,0],"d":[320,0,26,26]},{"a":40594,"t":"word","b":[26,0,60,0,0,0,0,0],"d":[26,60,0,0]},{"a":40602,"t":"word","b":[0,0,40,0,184,6,0,0],"d":[0,40,1720,0]},{"a":40610,"t":"word","b":[64,1,0,0,0,0,0,0],"d":[320,0,0,0]},{"a":40618,"t":"word","b":[0,0,112,3,0,0,0,0],"d":[0,880,0,0]},{"a":40626,"t":"word","b":[0,0,0,0,0,0,144,1],"d":[0,0,0,400]},{"a":40634,"t":"word","b":[144,1,0,0,0,0,144,1],"d":[400,0,0,400]},{"a":40642,"t":"word","b":[0,0,21,0,0,0,0,0],"d":[0,21,0,0]},{"a":40650,"t":"word","b":[10,2,0,0,104,1,0,0],"d":[522,0,360,0]},{"a":40658,"t":"word","b":[0,0,0,0,0,0,228,2],"d":[0,0,0,740]},{"a":40666,"t":"word","b":[0,0,0,0,104,1,144,1],"d":[0,0,360,400]},{"a":40674,"t":"word","b":[213,1,0,0,0,0,0,0],"d":[469,0,0,0]},{"a":40682,"t":"word","b":[104,1,0,0,20,0,140,0],"d":[360,0,20,140]},{"a":40690,"t":"word","b":[26,0,0,0,0,0,0,0],"d":[26,0,0,0]},{"a":40698,"t":"word","b":[0,0,0,0,53,2,0,0],"d":[0,0,565,0]},{"a":40706,"t":"word","b":[0,0,8,2,60,0,0,0],"d":[0,520,60,0]},{"a":40714,"t":"word","b":[132,3,0,0,0,0,0,0],"d":[900,0,0,0]},{"a":40722,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40730,"t":"word","b":[206,3,0,0,0,0,0,0],"d":[974,0,0,0]},{"a":40738,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40746,"t":"word","b":[0,0,0,0,84,1,226,1],"d":[0,0,340,482]},{"a":40754,"t":"word","b":[21,0,21,0,0,0,0,0],"d":[21,21,0,0]},{"a":40762,"t":"word","b":[32,3,84,1,0,0,0,0],"d":[800,340,0,0]},{"a":40770,"t":"word","b":[0,0,84,1,0,0,0,0],"d":[0,340,0,0]},{"a":40778,"t":"word","b":[0,0,104,6,21,0,0,0],"d":[0,1640,21,0]},{"a":40786,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40794,"t":"word","b":[160,0,120,0,84,1,24,1],"d":[160,120,340,280]},{"a":40802,"t":"word","b":[160,0,0,0,120,0,140,0],"d":[160,0,120,140]},{"a":40810,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40818,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40826,"t":"word","b":[0,0,0,0,244,6,244,6],"d":[0,0,1780,1780]},{"a":40834,"t":"word","b":[244,6,0,0,0,0,0,0],"d":[1780,0,0,0]},{"a":40842,"t":"word","b":[20,0,20,0,20,0,124,1],"d":[20,20,20,380]},{"a":40850,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40858,"t":"word","b":[167,1,164,1,0,0,0,0],"d":[423,420,0,0]},{"a":40866,"t":"word","b":[0,0,167,1,0,0,0,0],"d":[0,423,0,0]},{"a":40874,"t":"word","b":[0,0,0,0,0,0,60,0],"d":[0,0,0,60]},{"a":40882,"t":"word","b":[60,0,60,0,60,0,60,0],"d":[60,60,60,60]},{"a":40890,"t":"word","b":[21,0,84,1,0,0,0,0],"d":[21,340,0,0]},{"a":40898,"t":"word","b":[26,0,0,0,0,0,53,1],"d":[26,0,0,309]},{"a":40906,"t":"word","b":[0,0,31,2,0,0,48,2],"d":[0,543,0,560]},{"a":40914,"t":"word","b":[0,0,84,1,0,0,0,0],"d":[0,340,0,0]},{"a":40922,"t":"word","b":[148,2,0,0,0,0,133,1],"d":[660,0,0,389]},{"a":40930,"t":"word","b":[144,1,0,0,164,1,100,0],"d":[400,0,420,100]},{"a":40938,"t":"word","b":[100,0,140,0,48,2,0,0],"d":[100,140,560,0]},{"a":40946,"t":"word","b":[0,0,164,1,0,0,0,0],"d":[0,420,0,0]},{"a":40954,"t":"word","b":[0,0,0,0,0,0],"d":[0,0,0]},{"a":40960,"c":"Condition column 3 goes on: the words of actions 191 to 261","t":"word","b":[85,0,0,0,0,0,164,1],"d":[85,0,0,420]},{"a":40968,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40976,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":40984,"t":"word","b":[66,1,90,2,190,2,194,3],"d":[322,602,702,962]},{"a":40992,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41000,"t":"word","b":[0,0,0,0,0,0,148,2],"d":[0,0,0,660]},{"a":41008,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41016,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41024,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41032,"t":"word","b":[21,0,0,0,0,0,0,0],"d":[21,0,0,0]},{"a":41040,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41048,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41056,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41064,"t":"word","b":[60,0,200,0,200,0,200,0],"d":[60,200,200,200]},{"a":41072,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41080,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41088,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41096,"t":"word","b":[0,0,0,0,0,0],"d":[0,0,0]},{"a":41102,"l":"action_conditions_4","c":"Condition column 4 of 5, a word for each action: value x 20 + type. Type 0 is not a test but a parameter for the commands","t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0],"x":[32834]},{"a":41110,"t":"word","b":[0,0,0,0,108,0,108,0],"d":[0,0,108,108]},{"a":41118,"t":"word","b":[108,0,80,0,0,0,0,0],"d":[108,80,0,0]},{"a":41126,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41134,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41142,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41150,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41158,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41166,"t":"word","b":[0,0,173,1,0,0,0,0],"d":[0,429,0,0]},{"a":41174,"t":"word","b":[53,2,0,0,84,1,0,0],"d":[565,0,340,0]},{"a":41182,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41190,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41198,"t":"word","b":[204,1,0,0,0,0,0,0],"d":[460,0,0,0]},{"a":41206,"t":"word","b":[0,0,0,0,64,1,80,0],"d":[0,0,320,80]},{"a":41214,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41222,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41230,"t":"word","b":[0,0,0,0,20,0,0,0],"d":[0,0,20,0]},{"a":41238,"t":"word","b":[172,3,0,0,0,0,0,0],"d":[940,0,0,0]},{"a":41246,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41254,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41262,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41270,"t":"word","b":[0,0,0,0,0,0,84,1],"d":[0,0,0,340]},{"a":41278,"t":"word","b":[232,3,252,3,0,0,0,0],"d":[1000,1020,0,0]},{"a":41286,"t":"word","b":[21,0,224,1,0,0,0,0],"d":[21,480,0,0]},{"a":41294,"t":"word","b":[0,0,224,1,0,0,0,0],"d":[0,480,0,0]},{"a":41302,"t":"word","b":[0,0,26,0,0,0,0,0],"d":[0,26,0,0]},{"a":41310,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41318,"t":"word","b":[120,0,0,0,224,1,0,0],"d":[120,0,480,0]},{"a":41326,"t":"word","b":[0,0,0,0,0,0,120,0],"d":[0,0,0,120]},{"a":41334,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41342,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41350,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41358,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41366,"t":"word","b":[20,0,40,0,60,0,164,6],"d":[20,40,60,1700]},{"a":41374,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41382,"t":"word","b":[164,1,0,0,0,0,0,0],"d":[420,0,0,0]},{"a":41390,"t":"word","b":[0,0,164,1,0,0,0,0],"d":[0,420,0,0]},{"a":41398,"t":"word","b":[0,0,0,0,0,0,80,0],"d":[0,0,0,80]},{"a":41406,"t":"word","b":[80,0,80,0,80,0,80,0],"d":[80,80,80,80]},{"a":41414,"t":"word","b":[0,0,104,1,0,0,0,0],"d":[0,360,0,0]},{"a":41422,"t":"word","b":[166,1,0,0,0,0,33,2],"d":[422,0,0,545]},{"a":41430,"t":"word","b":[0,0,28,2,0,0,164,1],"d":[0,540,0,420]},{"a":41438,"t":"word","b":[0,0,144,1,0,0,0,0],"d":[0,400,0,0]},{"a":41446,"t":"word","b":[168,2,0,0,0,0,0,0],"d":[680,0,0,0]},{"a":41454,"t":"word","b":[153,1,0,0,8,2,0,0],"d":[409,0,520,0]},{"a":41462,"t":"word","b":[0,0,0,0,164,1,0,0],"d":[0,0,420,0]},{"a":41470,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41478,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41486,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41494,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41502,"t":"word","b":[0,0,0,0,0,0,106,1],"d":[0,0,0,362]},{"a":41510,"t":"word","b":[110,2,74,3,234,3,0,0],"d":[622,842,1002,0]},{"a":41518,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41526,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41534,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41542,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41550,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41558,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41566,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41574,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41582,"t":"word","b":[0,0,0,0,0,0,80,0],"d":[0,0,0,80]},{"a":41590,"t":"word","b":[164,1,164,1,0,0,0,0],"d":[420,420,0,0]},{"a":41598,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41606,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41614,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41622,"t":"word","b":[0,0,0,0],"d":[0,0]},{"a":41626,"l":"action_conditions_5","c":"Condition column 5 of 5, a word for each action: value x 20 + type. Type 0 is not a test but a parameter for the commands","t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0],"x":[32836]},{"a":41634,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41642,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41650,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41658,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41666,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41674,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41682,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41690,"t":"word","b":[0,0,22,2,0,0,0,0],"d":[0,534,0,0]},{"a":41698,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41706,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41714,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41722,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41730,"t":"word","b":[0,0,0,0,80,0,0,0],"d":[0,0,80,0]},{"a":41738,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41746,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41754,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41762,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41770,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41778,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41786,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41794,"t":"word","b":[0,0,0,0,0,0,224,1],"d":[0,0,0,480]},{"a":41802,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41810,"t":"word","b":[0,0,205,1,0,0,0,0],"d":[0,461,0,0]},{"a":41818,"t":"word","b":[0,0,205,1,0,0,0,0],"d":[0,461,0,0]},{"a":41826,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41834,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41842,"t":"word","b":[0,0,0,0,205,1,0,0],"d":[0,0,461,0]},{"a":41850,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41858,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41866,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41874,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41882,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41890,"t":"word","b":[0,0,0,0,0,0,21,0],"d":[0,0,0,21]},{"a":41898,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41906,"t":"word","b":[240,0,0,0,0,0,0,0],"d":[240,0,0,0]},{"a":41914,"t":"word","b":[0,0,200,0,0,0,0,0],"d":[0,200,0,0]},{"a":41922,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41930,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41938,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41946,"t":"word","b":[0,0,0,0,0,0,53,2],"d":[0,0,0,565]},{"a":41954,"t":"word","b":[0,0,48,2,0,0,0,0],"d":[0,560,0,0]},{"a":41962,"t":"word","b":[0,0,205,1,0,0,0,0],"d":[0,461,0,0]},{"a":41970,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41978,"t":"word","b":[0,0,0,0,188,2,0,0],"d":[0,0,700,0]},{"a":41986,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":41994,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42002,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42010,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42018,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42026,"t":"word","b":[0,0,0,0,0,0,126,1],"d":[0,0,0,382]},{"a":42034,"t":"word","b":[130,2,114,3,254,3,0,0],"d":[642,882,1022,0]},{"a":42042,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42050,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42058,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42066,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42074,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42082,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42090,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42098,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42106,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42114,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42122,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42130,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42138,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42146,"t":"word","b":[0,0,0,0],"d":[0,0]},{"a":42150,"l":"room_text_table","c":"The address of each room's description, a word for each room from 0 to 20","t":"addr","b":[140,133],"oa":34188,"o":"room_text_00","x":[32838]},{"a":42152,"t":"addr","b":[141,133],"oa":34189,"o":"room_text_01"},{"a":42154,"t":"addr","b":[188,133],"oa":34236,"o":"room_text_02"},{"a":42156,"t":"addr","b":[193,133],"oa":34241,"o":"room_text_03"},{"a":42158,"t":"addr","b":[214,133],"oa":34262,"o":"room_text_04"},{"a":42160,"t":"addr","b":[220,133],"oa":34268,"o":"room_text_05"},{"a":42162,"t":"addr","b":[237,133],"oa":34285,"o":"room_text_06"},{"a":42164,"t":"addr","b":[254,133],"oa":34302,"o":"room_text_07"},{"a":42166,"t":"addr","b":[4,134],"oa":34308,"o":"room_text_08"},{"a":42168,"t":"addr","b":[10,134],"oa":34314,"o":"room_text_09"},{"a":42170,"t":"addr","b":[15,134],"oa":34319,"o":"room_text_10"},{"a":42172,"t":"addr","b":[20,134],"oa":34324,"o":"room_text_11"},{"a":42174,"t":"addr","b":[25,134],"oa":34329,"o":"room_text_12"},{"a":42176,"t":"addr","b":[32,134],"oa":34336,"o":"room_text_13"},{"a":42178,"t":"addr","b":[37,134],"oa":34341,"o":"room_text_14"},{"a":42180,"t":"addr","b":[42,134],"oa":34346,"o":"room_text_15"},{"a":42182,"t":"addr","b":[65,134],"oa":34369,"o":"room_text_16"},{"a":42184,"t":"addr","b":[76,134],"oa":34380,"o":"room_text_17"},{"a":42186,"t":"addr","b":[81,134],"oa":34385,"o":"room_text_18"},{"a":42188,"t":"addr","b":[86,134],"oa":34390,"o":"room_text_19"},{"a":42190,"t":"addr","b":[159,134],"oa":34463,"o":"room_text_20"},{"a":42192,"l":"exits_north","c":"The exits: six columns of a word for each room, north here, then south, east, west, up and down: the room that way, or 0 for none. Room 0, nowhere: no exits","t":"word","b":[0,0],"d":[0],"x":[32840]},{"a":42194,"c":"Room 1 (I'm Bruce Banner, tied hand &...): no exits","t":"word","b":[0,0],"d":[0]},{"a":42196,"c":"Room 2 (dome): east to 3","t":"word","b":[0,0],"d":[0]},{"a":42198,"c":"Room 3 (tunnel going outside): west to 2","t":"word","b":[0,0],"d":[0]},{"a":42200,"c":"Room 4 (field): north to 17, south to 17, east to 17, west to 17","t":"word","b":[17,0],"d":[17]},{"a":42202,"c":"Room 5 (tunnel going out): west to 14","t":"word","b":[0,0],"d":[0]},{"a":42204,"c":"Room 6 (tunnel going out): west to 13","t":"word","b":[0,0],"d":[0]},{"a":42206,"c":"Room 7 (field): north to 17, south to 17, east to 17, west to 17","t":"word","b":[17,0],"d":[17]},{"a":42208,"c":"Room 8 (field): north to 17, south to 17, east to 17, west to 17","t":"word","b":[17,0],"d":[17]},{"a":42210,"c":"Room 9 (hole): up to 4","t":"word","b":[0,0],"d":[0]},{"a":42212,"c":"Room 10 (hole): up to 7","t":"word","b":[0,0],"d":[0]},{"a":42214,"c":"Room 11 (hole): up to 8","t":"word","b":[0,0],"d":[0]},{"a":42216,"c":"Room 12 (cavern): no exits","t":"word","b":[0,0],"d":[0]},{"a":42218,"c":"Room 13 (dome): east to 6","t":"word","b":[0,0],"d":[0]},{"a":42220,"c":"Room 14 (dome): east to 5","t":"word","b":[0,0],"d":[0]},{"a":42222,"c":"Room 15 (small underground room): no exits","t":"word","b":[0,0],"d":[0]},{"a":42224,"c":"Room 16 (fuzzy area): north to 15, south to 18, east to 18, west to 18","t":"word","b":[15,0],"d":[15]},{"a":42226,"c":"Room 17 (warp): no exits","t":"word","b":[0,0],"d":[0]},{"a":42228,"c":"Room 18 (warp): no exits","t":"word","b":[0,0],"d":[0]},{"a":42230,"c":"Room 19 (room with the Chief Examiner w...): no exits","t":"word","b":[0,0],"d":[0]},{"a":42232,"c":"Room 20 (state of limbo): down to 2","t":"word","b":[0,0],"d":[0]},{"a":42234,"l":"exits_south","c":"The exits south, a word for each room from 0 to 20","t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0],"x":[32842]},{"a":42242,"t":"word","b":[17,0,0,0,0,0,17,0],"d":[17,0,0,17]},{"a":42250,"t":"word","b":[17,0,0,0,0,0,0,0],"d":[17,0,0,0]},{"a":42258,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42266,"t":"word","b":[18,0,0,0,0,0,0,0],"d":[18,0,0,0]},{"a":42274,"t":"word","b":[0,0],"d":[0]},{"a":42276,"l":"exits_east","c":"The exits east, a word for each room from 0 to 20","t":"word","b":[0,0,0,0,3,0,0,0],"d":[0,0,3,0],"x":[32844]},{"a":42284,"t":"word","b":[17,0,0,0,0,0,17,0],"d":[17,0,0,17]},{"a":42292,"t":"word","b":[17,0,0,0,0,0,0,0],"d":[17,0,0,0]},{"a":42300,"t":"word","b":[0,0,6,0,5,0,0,0],"d":[0,6,5,0]},{"a":42308,"t":"word","b":[18,0,0,0,0,0,0,0],"d":[18,0,0,0]},{"a":42316,"t":"word","b":[0,0],"d":[0]},{"a":42318,"l":"exits_west","c":"The exits west, a word for each room from 0 to 20","t":"word","b":[0,0,0,0,0,0,2,0],"d":[0,0,0,2],"x":[32846]},{"a":42326,"t":"word","b":[17,0,14,0,13,0,17,0],"d":[17,14,13,17]},{"a":42334,"t":"word","b":[17,0,0,0,0,0,0,0],"d":[17,0,0,0]},{"a":42342,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42350,"t":"word","b":[18,0,0,0,0,0,0,0],"d":[18,0,0,0]},{"a":42358,"t":"word","b":[0,0],"d":[0]},{"a":42360,"l":"exits_up","c":"The exits up, a word for each room from 0 to 20","t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0],"x":[32848]},{"a":42368,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42376,"t":"word","b":[0,0,4,0,7,0,8,0],"d":[0,4,7,8]},{"a":42384,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42392,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42400,"t":"word","b":[0,0],"d":[0]},{"a":42402,"l":"exits_down","c":"The exits down, a word for each room from 0 to 20","t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0],"x":[32850]},{"a":42410,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42418,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42426,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42434,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42442,"t":"word","b":[2,0],"d":[2]},{"a":42444,"l":"message_table","c":"The address of each message's text, a word for each message from 0 to 99","t":"addr","b":[174,134],"oa":34478,"o":"message_00","x":[32852]},{"a":42446,"t":"addr","b":[175,134],"oa":34479,"o":"message_01"},{"a":42448,"t":"addr","b":[180,134],"oa":34484,"o":"message_02"},{"a":42450,"t":"addr","b":[186,134],"oa":34490,"o":"message_03"},{"a":42452,"t":"addr","b":[194,134],"oa":34498,"o":"message_04"},{"a":42454,"t":"addr","b":[202,134],"oa":34506,"o":"message_05"},{"a":42456,"t":"addr","b":[212,134],"oa":34516,"o":"message_06"},{"a":42458,"t":"addr","b":[219,134],"oa":34523,"o":"message_07"},{"a":42460,"t":"addr","b":[221,134],"oa":34525,"o":"message_08"},{"a":42462,"t":"addr","b":[235,134],"oa":34539,"o":"message_09"},{"a":42464,"t":"addr","b":[240,134],"oa":34544,"o":"message_10"},{"a":42466,"t":"addr","b":[9,135],"oa":34569,"o":"message_11"},{"a":42468,"t":"addr","b":[233,135],"oa":34793,"o":"message_12"},{"a":42470,"t":"addr","b":[246,135],"oa":34806,"o":"message_13"},{"a":42472,"t":"addr","b":[4,136],"oa":34820,"o":"message_14"},{"a":42474,"t":"addr","b":[13,136],"oa":34829,"o":"message_15"},{"a":42476,"t":"addr","b":[18,136],"oa":34834,"o":"message_16"},{"a":42478,"t":"addr","b":[24,136],"oa":34840,"o":"message_17"},{"a":42480,"t":"addr","b":[31,136],"oa":34847,"o":"message_18"},{"a":42482,"t":"addr","b":[35,136],"oa":34851,"o":"message_19"},{"a":42484,"t":"addr","b":[78,136],"oa":34894,"o":"message_20"},{"a":42486,"t":"addr","b":[95,136],"oa":34911,"o":"message_21"},{"a":42488,"t":"addr","b":[109,136],"oa":34925,"o":"message_22"},{"a":42490,"t":"addr","b":[115,136],"oa":34931,"o":"message_23"},{"a":42492,"t":"addr","b":[124,136],"oa":34940,"o":"message_24"},{"a":42494,"t":"addr","b":[137,136],"oa":34953,"o":"message_25"},{"a":42496,"t":"addr","b":[142,136],"oa":34958,"o":"message_26"},{"a":42498,"t":"addr","b":[160,136],"oa":34976,"o":"message_27"},{"a":42500,"t":"addr","b":[183,136],"oa":34999,"o":"message_28"},{"a":42502,"t":"addr","b":[189,136],"oa":35005,"o":"message_29"},{"a":42504,"t":"addr","b":[207,136],"oa":35023,"o":"message_30"},{"a":42506,"t":"addr","b":[212,136],"oa":35028,"o":"message_31"},{"a":42508,"t":"addr","b":[229,136],"oa":35045,"o":"message_32"},{"a":42510,"t":"addr","b":[235,136],"oa":35051,"o":"message_33"},{"a":42512,"t":"addr","b":[241,136],"oa":35057,"o":"message_34"},{"a":42514,"t":"addr","b":[247,136],"oa":35063,"o":"message_35"},{"a":42516,"t":"addr","b":[253,136],"oa":35069,"o":"message_36"},{"a":42518,"t":"addr","b":[18,137],"oa":35090,"o":"message_37"},{"a":42520,"t":"addr","b":[35,137],"oa":35107,"o":"message_38"},{"a":42522,"t":"addr","b":[42,137],"oa":35114,"o":"message_39"},{"a":42524,"t":"addr","b":[53,137],"oa":35125,"o":"message_40"},{"a":42526,"t":"addr","b":[71,137],"oa":35143,"o":"message_41"},{"a":42528,"t":"addr","b":[93,137],"oa":35165,"o":"message_42"},{"a":42530,"t":"addr","b":[100,137],"oa":35172,"o":"message_43"},{"a":42532,"t":"addr","b":[109,137],"oa":35181,"o":"message_44"},{"a":42534,"t":"addr","b":[123,137],"oa":35195,"o":"message_45"},{"a":42536,"t":"addr","b":[128,137],"oa":35200,"o":"message_46"},{"a":42538,"t":"addr","b":[137,137],"oa":35209,"o":"message_47"},{"a":42540,"t":"addr","b":[145,137],"oa":35217,"o":"message_48"},{"a":42542,"t":"addr","b":[153,137],"oa":35225,"o":"message_49"},{"a":42544,"t":"addr","b":[174,137],"oa":35246,"o":"message_50"},{"a":42546,"t":"addr","b":[182,137],"oa":35254,"o":"message_51"},{"a":42548,"t":"addr","b":[193,137],"oa":35265,"o":"message_52"},{"a":42550,"t":"addr","b":[225,137],"oa":35297,"o":"message_53"},{"a":42552,"t":"addr","b":[251,137],"oa":35323,"o":"message_54"},{"a":42554,"t":"addr","b":[9,138],"oa":35337,"o":"message_55"},{"a":42556,"t":"addr","b":[47,138],"oa":35375,"o":"message_56"},{"a":42558,"t":"addr","b":[86,138],"oa":35414,"o":"message_57"},{"a":42560,"t":"addr","b":[100,138],"oa":35428,"o":"message_58"},{"a":42562,"t":"addr","b":[119,138],"oa":35447,"o":"message_59"},{"a":42564,"t":"addr","b":[123,138],"oa":35451,"o":"message_60"},{"a":42566,"t":"addr","b":[128,138],"oa":35456,"o":"message_61"},{"a":42568,"t":"addr","b":[206,138],"oa":35534,"o":"message_62"},{"a":42570,"t":"addr","b":[215,138],"oa":35543,"o":"message_63"},{"a":42572,"t":"addr","b":[239,138],"oa":35567,"o":"message_64"},{"a":42574,"t":"addr","b":[1,139],"oa":35585,"o":"message_65"},{"a":42576,"t":"addr","b":[18,139],"oa":35602,"o":"message_66"},{"a":42578,"t":"addr","b":[29,139],"oa":35613,"o":"message_67"},{"a":42580,"t":"addr","b":[51,139],"oa":35635,"o":"message_68"},{"a":42582,"t":"addr","b":[70,139],"oa":35654,"o":"message_69"},{"a":42584,"t":"addr","b":[84,139],"oa":35668,"o":"message_70"},{"a":42586,"t":"addr","b":[112,139],"oa":35696,"o":"message_71"},{"a":42588,"t":"addr","b":[124,139],"oa":35708,"o":"message_72"},{"a":42590,"t":"addr","b":[138,139],"oa":35722,"o":"message_73"},{"a":42592,"t":"addr","b":[165,139],"oa":35749,"o":"message_74"},{"a":42594,"t":"addr","b":[195,139],"oa":35779,"o":"message_75"},{"a":42596,"t":"addr","b":[205,139],"oa":35789,"o":"message_76"},{"a":42598,"t":"addr","b":[25,140],"oa":35865,"o":"message_77"},{"a":42600,"t":"addr","b":[47,140],"oa":35887,"o":"message_78"},{"a":42602,"t":"addr","b":[89,140],"oa":35929,"o":"message_79"},{"a":42604,"t":"addr","b":[99,140],"oa":35939,"o":"message_80"},{"a":42606,"t":"addr","b":[122,140],"oa":35962,"o":"message_81"},{"a":42608,"t":"addr","b":[139,140],"oa":35979,"o":"message_82"},{"a":42610,"t":"addr","b":[153,140],"oa":35993,"o":"message_83"},{"a":42612,"t":"addr","b":[183,140],"oa":36023,"o":"message_84"},{"a":42614,"t":"addr","b":[243,140],"oa":36083,"o":"message_85"},{"a":42616,"t":"addr","b":[2,141],"oa":36098,"o":"message_86"},{"a":42618,"t":"addr","b":[34,141],"oa":36130,"o":"message_87"},{"a":42620,"t":"addr","b":[117,141],"oa":36213,"o":"message_88"},{"a":42622,"t":"addr","b":[160,141],"oa":36256,"o":"message_89"},{"a":42624,"t":"addr","b":[173,141],"oa":36269,"o":"message_90"},{"a":42626,"t":"addr","b":[40,142],"oa":36392,"o":"message_91"},{"a":42628,"t":"addr","b":[101,142],"oa":36453,"o":"message_92"},{"a":42630,"t":"addr","b":[134,142],"oa":36486,"o":"message_93"},{"a":42632,"t":"addr","b":[178,142],"oa":36530,"o":"message_94"},{"a":42634,"t":"addr","b":[194,142],"oa":36546,"o":"message_95"},{"a":42636,"t":"addr","b":[234,142],"oa":36586,"o":"message_96"},{"a":42638,"t":"addr","b":[50,143],"oa":36658,"o":"message_97"},{"a":42640,"t":"addr","b":[135,143],"oa":36743,"o":"message_98"},{"a":42642,"t":"addr","b":[187,143],"oa":36795,"o":"message_99"},{"a":42644,"l":"message_table_unused","c":"Messages 100 to 113: no text, address 0. No action prints them","t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42652,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42660,"t":"word","b":[0,0,0,0,0,0,0,0],"d":[0,0,0,0]},{"a":42668,"t":"word","b":[0,0,0,0],"d":[0,0]},{"a":42672,"t":"gap","n":22864},{"a":55296,"t":"note","l":"colour_ram","c":"Colour RAM's first byte, which colour_row_20 copies into row 20","note":"outside the tracked image"}]}