From 63c04043136b6e29a1b50d47902aca1cf06f9244 Mon Sep 17 00:00:00 2001 From: FeralChild64 Date: Wed, 15 Jan 2020 20:06:14 +0100 Subject: [PATCH] migrated code to pragma-like ROM layout definitions --- c64/basic/,stubs/a408.reason.s | 8 +- c64/basic/,stubs/a453.unknown.s | 8 +- c64/basic/,stubs/a57c.chrnch.s | 7 +- c64/basic/,stubs/a644.new.s | 8 +- c64/basic/,stubs/a659.setcharptr.s | 8 +- c64/basic/,stubs/a71a.qplop.s | 7 +- c64/basic/,stubs/a7e4.gone.s | 7 +- c64/basic/,stubs/ad9e.frmevl.s | 8 +- c64/basic/,stubs/ae86.eval.s | 7 +- c64/basic/,stubs/e38b.error.s | 7 +- c64/basic/,stubs/e3bf.init.s | 8 +- c64/basic/,stubs/e453.rvect.s | 8 +- c64/basic/a533.linkprg.s | 7 +- c64/basic/a68e.runc.s | 7 +- c64/basic/a7ae.newstt.s | 7 +- c64/basic/ab1e.strout.s | 7 +- c64/basic/basic_adray1.s | 8 +- c64/basic/basic_adray2.s | 7 +- c64/basic/basic_delete_line.s | 7 +- c64/basic/basic_do_error.s | 7 +- c64/basic/basic_execute_line.s | 7 +- c64/basic/basic_find_line.s | 8 +- c64/basic/basic_find_next_line.s | 7 +- c64/basic/basic_follow_link_to_next_line.s | 8 +- c64/basic/basic_insert_line.s | 7 +- c64/basic/basic_main_loop.s | 7 +- c64/basic/basic_parse_line_number.s | 7 +- c64/basic/basic_shift_mem_down.s | 7 +- c64/basic/basic_shift_mem_up.s | 7 +- c64/basic/basic_vector_defaults.s | 7 +- c64/basic/bdcd.linprt.s | 7 +- c64/basic/c000.skip_gap.s | 8 +- c64/basic/commands/cmd_break.s | 7 +- c64/basic/commands/cmd_list.s | 8 +- c64/basic/commands/cmd_load.s | 7 +- c64/basic/commands/cmd_new.s | 7 +- c64/basic/commands/cmd_rem.s | 8 +- c64/basic/commands/cmd_run.s | 7 +- c64/basic/commands/cmd_sys.s | 7 +- c64/basic/commands/cmd_unimplemented.s | 7 +- c64/basic/do_basic_error.s | 9 +- c64/basic/fac1_mul.s | 7 +- c64/basic/init/a000.cold_start_vector.s | 8 +- c64/basic/init/a002.warm_start_vector.s | 8 +- c64/basic/init/basic_cold_start_internal.s | 7 +- c64/basic/init/basic_warm_start_internal.s | 7 +- c64/basic/init/e394.basic_cold_start.s | 7 +- c64/basic/init/e3b7.basic_warm_start.jmp.s | 8 +- c64/basic/init/e422.initmsg.jmp.s | 7 +- c64/basic/init/initmsg_bytes_free.s | 7 +- c64/basic/init/initmsg_real.s | 8 +- c64/basic/init/startup_banner.s | 7 +- c64/basic/init_oldtxt.s | 7 +- c64/basic/injest_comma.s | 7 +- c64/basic/injest_number.s | 7 +- c64/basic/pack_word.s | 7 +- c64/basic/peek_line_pointer_null_check.s | 7 +- c64/basic/print_integer.s | 7 +- c64/basic/print_packed_message.s | 7 +- c64/basic/ready_message.s | 7 +- c64/basic/rom_revision/a004.identifier.s | 8 +- .../rom_revision/bf52.rom_revision_basic.s | 7 +- .../rom_revision/e4b7.rom_revision_kernal.s | 7 +- c64/basic/select_device.s | 7 +- c64/basic/tokenise_line.s | 7 +- c64/basic/under_rom_routines.s | 7 +- c64/basic/wedge_dos.s | 7 +- c64/basic/wedge_tape.s | 7 +- c64/kernal/,disabled/u64_load.s | 7 +- c64/kernal/,stubs/e6b6.advance_cursor.s | 8 +- c64/kernal/,stubs/e701.previous_line.s | 8 +- c64/kernal/,stubs/e716.chrout_screen.s | 8 +- c64/kernal/,stubs/e96c.insert_line_at_top.s | 8 +- c64/kernal/,stubs/f3f6.unknown.s | 8 +- c64/kernal/,stubs/f646.iec_close.s | 8 +- c64/kernal/,stubs/fd90.unknown.s | 8 +- c64/kernal/errors.s | 7 +- c64/kernal/iec/acptr.s | 7 +- c64/kernal/iec/chkin_iec.s | 7 +- c64/kernal/iec/chrin_iec.s | 7 +- c64/kernal/iec/chrout_iec.s | 7 +- c64/kernal/iec/ciout.s | 7 +- c64/kernal/iec/ckout_iec.s | 7 +- c64/kernal/iec/close_iec.s | 7 +- c64/kernal/iec/clrchn_iec.s | 7 +- c64/kernal/iec/iec_check_devnum.s | 7 +- c64/kernal/iec/iec_close_load.s | 7 +- c64/kernal/iec/iec_cmd_close.s | 7 +- c64/kernal/iec/iec_cmd_open.s | 7 +- c64/kernal/iec/iec_pull_release.s | 177 ++++++------ c64/kernal/iec/iec_return.s | 7 +- c64/kernal/iec/iec_rx_byte.s | 7 +- c64/kernal/iec/iec_rx_check_eoi.s | 7 +- c64/kernal/iec/iec_send_file_name.s | 7 +- c64/kernal/iec/iec_set_idle.s | 7 +- c64/kernal/iec/iec_turnaround_to_listen.s | 7 +- c64/kernal/iec/iec_turnaround_to_talk.s | 7 +- c64/kernal/iec/iec_tx_byte.s | 7 +- c64/kernal/iec/iec_tx_command.s | 7 +- c64/kernal/iec/iec_tx_command_finalize.s | 8 +- c64/kernal/iec/iec_tx_flush.s | 7 +- c64/kernal/iec/iec_update_eal_by_y.s | 7 +- c64/kernal/iec/iec_wait1ms.s | 7 +- c64/kernal/iec/iec_wait20us.s | 7 +- c64/kernal/iec/iec_wait60us.s | 7 +- c64/kernal/iec/iec_wait_for_clk_release.s | 7 +- c64/kernal/iec/iec_wait_for_data_pull.s | 7 +- c64/kernal/iec/iec_wait_for_data_release.s | 7 +- c64/kernal/iec/listen.s | 7 +- c64/kernal/iec/load_iec.s | 7 +- c64/kernal/iec/open_iec.s | 7 +- c64/kernal/iec/save_iec.s | 7 +- c64/kernal/iec/second.s | 7 +- c64/kernal/iec/talk.s | 7 +- c64/kernal/iec/tksa.s | 7 +- c64/kernal/iec/unlsn.s | 7 +- c64/kernal/iec/untlk.s | 7 +- c64/kernal/iec_fast/burst_cia1_advertise.s | 7 +- c64/kernal/iec_fast/burst_cia2_advertise.s | 7 +- c64/kernal/iec_fast/burst_soft_advertise.s | 7 +- c64/kernal/iec_fast/dolphindos_detect.s | 7 +- c64/kernal/iec_fast/dolphindos_load.s | 7 +- c64/kernal/iec_fast/jiffydos_bittable.s | 7 +- c64/kernal/iec_fast/jiffydos_detect.s | 7 +- c64/kernal/iec_fast/jiffydos_load.s | 7 +- c64/kernal/iec_fast/jiffydos_prepare.s | 7 +- c64/kernal/iec_fast/jiffydos_rx_byte.s | 7 +- c64/kernal/iec_fast/jiffydos_tx_byte.s | 7 +- c64/kernal/iec_fast/jiffydos_wait_line.s | 7 +- c64/kernal/init/cartridge_check.s | 20 +- c64/kernal/init/cint_screen_keyboard.s | 9 +- c64/kernal/init/e518.cint_legacy.s | 7 +- c64/kernal/init/e5a0.setup_vicii.s | 7 +- c64/kernal/init/fce2.hw_entry_reset.s | 7 +- c64/kernal/init/fda3.ioinit.s | 7 +- c64/kernal/init/ff5b.cint.s | 7 +- c64/kernal/init/fffc.vector_reset.s | 8 +- c64/kernal/init/setup_pal_ntsc.s | 7 +- .../interrupts/ea31.default_irq_handler.s | 7 +- .../ea7e.ack_cia1_return_from_interrupt.s | 8 +- .../interrupts/ea81.return_from_interrupt.s | 8 +- .../interrupts/fe47.default_nmi_handler.s | 8 +- .../interrupts/fe66.default_brk_handler.s | 8 +- c64/kernal/interrupts/fffa.vector_nmi.s | 8 +- c64/kernal/interrupts/fffe.vector_irq.s | 8 +- c64/kernal/interrupts/hw_entry_irq.s | 7 +- c64/kernal/interrupts/hw_entry_nmi.s | 7 +- c64/kernal/iostack/chkinout.s | 7 +- c64/kernal/iostack/clall_real.s | 7 +- c64/kernal/iostack/f13e.getin.s | 7 +- c64/kernal/iostack/f157.chrin.s | 7 +- c64/kernal/iostack/f1ca.chrout.s | 7 +- c64/kernal/iostack/f20e.chkin.s | 7 +- c64/kernal/iostack/f250.ckout.s | 7 +- c64/kernal/iostack/f291.close.s | 7 +- c64/kernal/iostack/f32f.clall.jmp.s | 8 +- c64/kernal/iostack/f333.clrchn.s | 7 +- c64/kernal/iostack/f34a.open.s | 7 +- c64/kernal/iostack/f49e.load_prep.s | 7 +- c64/kernal/iostack/f4a5.load.s | 7 +- c64/kernal/iostack/f5dd.save_prep.s | 7 +- c64/kernal/iostack/f5ed.save.s | 7 +- c64/kernal/iostack/findfls.s | 7 +- c64/kernal/iostack/getin_real.s | 7 +- c64/kernal/iostack/load_save_common.s | 7 +- c64/kernal/iostack/readst.s | 7 +- c64/kernal/iostack/setfls.s | 7 +- c64/kernal/iostack/setmsg.s | 8 +- c64/kernal/iostack/setnam.s | 7 +- c64/kernal/iostack/settmo.s | 8 +- c64/kernal/jumptable/ff81.jcint.s | 8 +- c64/kernal/jumptable/ff84.jioinit.s | 8 +- c64/kernal/jumptable/ff87.jramtas.s | 7 +- c64/kernal/jumptable/ff8a.jrestor.s | 7 +- c64/kernal/jumptable/ff8d.jvector.s | 7 +- c64/kernal/jumptable/ff90.jsetmsg.s | 7 +- c64/kernal/jumptable/ff93.jsecond.s | 7 +- c64/kernal/jumptable/ff96.jtksa.s | 7 +- c64/kernal/jumptable/ff99.jmemtop.s | 7 +- c64/kernal/jumptable/ff9c.jmembot.s | 7 +- c64/kernal/jumptable/ff9f.jscnkey.s | 7 +- c64/kernal/jumptable/ffa2.jsettmo.s | 7 +- c64/kernal/jumptable/ffa5.jacptr.s | 7 +- c64/kernal/jumptable/ffa8.jciout.s | 7 +- c64/kernal/jumptable/ffab.juntlk.s | 7 +- c64/kernal/jumptable/ffae.junlsn.s | 7 +- c64/kernal/jumptable/ffb1.jlisten.s | 7 +- c64/kernal/jumptable/ffb4.jtalk.s | 7 +- c64/kernal/jumptable/ffb7.jreadst.s | 7 +- c64/kernal/jumptable/ffba.jsetfls.s | 7 +- c64/kernal/jumptable/ffbd.jsetnam.s | 7 +- c64/kernal/jumptable/ffc0.jopen.s | 7 +- c64/kernal/jumptable/ffc3.jclose.s | 7 +- c64/kernal/jumptable/ffc6.jchkin.s | 7 +- c64/kernal/jumptable/ffc9.jckout.s | 7 +- c64/kernal/jumptable/ffcc.jclrchn.s | 7 +- c64/kernal/jumptable/ffcf.jchrin.s | 7 +- c64/kernal/jumptable/ffd2.jchrout.s | 7 +- c64/kernal/jumptable/ffd5.jload.s | 7 +- c64/kernal/jumptable/ffd8.jsave.s | 7 +- c64/kernal/jumptable/ffdb.jsettim.s | 7 +- c64/kernal/jumptable/ffde.jrdtim.s | 7 +- c64/kernal/jumptable/ffe1.jstop.s | 7 +- c64/kernal/jumptable/ffe4.jgetin.s | 7 +- c64/kernal/jumptable/ffe7.jclall.s | 7 +- c64/kernal/jumptable/ffea.judtim.s | 7 +- c64/kernal/jumptable/ffed.jscreen.s | 7 +- c64/kernal/jumptable/fff0.jplot.s | 7 +- c64/kernal/jumptable/fff3.jiobase.s | 7 +- c64/kernal/keyboard/chrin_keyboard.s | 7 +- c64/kernal/keyboard/f142.getin_keyboard.s | 7 +- c64/kernal/keyboard/f6ed.stop.s | 7 +- c64/kernal/keyboard/kb_matrix.s | 7 +- c64/kernal/keyboard/kb_matrix_128.s | 7 +- c64/kernal/keyboard/kb_matrix_65.s | 7 +- c64/kernal/keyboard/kb_matrix_alwaysrepeat.s | 7 +- c64/kernal/keyboard/kb_matrix_bucky.s | 7 +- c64/kernal/keyboard/kb_matrix_bucky_filter.s | 7 +- c64/kernal/keyboard/kb_matrix_joy.s | 7 +- c64/kernal/keyboard/kb_matrix_lookup.s | 7 +- c64/kernal/keyboard/kb_matrix_lookup_legacy.s | 7 +- c64/kernal/keyboard/kb_matrix_row_keys.s | 7 +- c64/kernal/keyboard/kb_matrix_row_offsets.s | 7 +- c64/kernal/keyboard/keyboard_disconnect.s | 7 +- c64/kernal/keyboard/pop_keyboard_buffer.s | 7 +- c64/kernal/keyboard/programmable_keys.s | 7 +- c64/kernal/keyboard/scnkey.s | 7 +- c64/kernal/keyboard/scnkey_128.s | 7 +- c64/kernal/keyboard/scnkey_65.s | 8 +- c64/kernal/keyboard/scnkey_legacy.s | 7 +- c64/kernal/keyboard/scnkey_set_keytab.s | 7 +- c64/kernal/keyboard/udtim_keyboard.s | 7 +- c64/kernal/memory/fd15.restor.s | 7 +- c64/kernal/memory/fe25.memtop.s | 7 +- c64/kernal/memory/under_rom_routines.s | 7 +- c64/kernal/memory/vector_real.s | 7 +- c64/kernal/panic.s | 7 +- c64/kernal/print/print_features.s | 7 +- c64/kernal/print/print_hex_byte.s | 7 +- c64/kernal/print/print_kernal_message.s | 7 +- c64/kernal/print/print_pal_ntsc.s | 7 +- c64/kernal/print/print_return.s | 7 +- c64/kernal/print/print_space.s | 7 +- c64/kernal/print/printf.s | 7 +- .../rom_revision/ff80.kernal_revision.s | 7 +- c64/kernal/rs232/chkin_rs232_up2400.s | 7 +- c64/kernal/rs232/chkin_rs232_up9600.s | 8 +- c64/kernal/rs232/chrin_rs232_up2400.s | 7 +- c64/kernal/rs232/chrin_rs232_up9600.s | 7 +- c64/kernal/rs232/chrout_rs232.s | 7 +- c64/kernal/rs232/ckout_rs232_up2400.s | 7 +- c64/kernal/rs232/ckout_rs232_up9600.s | 7 +- c64/kernal/rs232/close_rs232.s | 7 +- c64/kernal/rs232/getin_rs232.s | 7 +- c64/kernal/rs232/open_rs232.s | 7 +- c64/kernal/rs232/rs232_count_channels.s | 59 ++-- c64/kernal/rs232/up9600_disable.s | 94 +++--- c64/kernal/rs232/up9600_enable.s | 269 +++++++++--------- c64/kernal/rs232/up9600_ihitab.s | 43 ++- c64/kernal/rs232/up9600_ilotab.s | 43 ++- c64/kernal/rs232/up9600_irq.s | 87 +++--- c64/kernal/rs232/up9600_nmi.s | 139 +++++---- c64/kernal/rs232/up9600_rsin.s | 93 +++--- c64/kernal/rs232/up9600_rsout.s | 119 ++++---- c64/kernal/screen/chrout_screen.s | 7 +- c64/kernal/screen/chrout_screen_clr.s | 7 +- c64/kernal/screen/chrout_screen_control.s | 7 +- c64/kernal/screen/chrout_screen_crsr.s | 7 +- c64/kernal/screen/chrout_screen_del.s | 7 +- c64/kernal/screen/chrout_screen_gfxtxt.s | 7 +- c64/kernal/screen/chrout_screen_home.s | 7 +- c64/kernal/screen/chrout_screen_ins.s | 7 +- .../screen/chrout_screen_jumptable_codes.s | 7 +- c64/kernal/screen/chrout_screen_quote.s | 7 +- c64/kernal/screen/chrout_screen_return.s | 7 +- c64/kernal/screen/chrout_screen_rvs.s | 7 +- c64/kernal/screen/chrout_screen_shift_onoff.s | 7 +- c64/kernal/screen/chrout_screen_stop.s | 7 +- c64/kernal/screen/chrout_screen_tab.s | 7 +- c64/kernal/screen/cursor.s | 7 +- c64/kernal/screen/cursor_enable.s | 8 +- c64/kernal/screen/cursor_show.s | 7 +- c64/kernal/screen/e50a.plot.s | 7 +- c64/kernal/screen/e544.clear_screen.s | 7 +- c64/kernal/screen/e566.cursor_home.s | 7 +- .../screen/e56c.screen_calculate_pointers.s | 7 +- c64/kernal/screen/e8ea.screen_scroll_up.s | 7 +- c64/kernal/screen/e9ff.screen_clear_line.s | 7 +- c64/kernal/screen/screen.s | 6 +- .../screen/screen_advance_to_next_line.s | 7 +- c64/kernal/screen/screen_calculate_pnt_user.s | 7 +- .../screen/screen_calculate_pntr_lnmx.s | 7 +- .../screen/screen_check_space_ends_line.s | 7 +- c64/kernal/screen/screen_code_to_petscii.s | 7 +- c64/kernal/screen/screen_get_cliped_pntr.s | 7 +- .../screen/screen_get_logical_line_end_ptr.s | 7 +- c64/kernal/screen/screen_grow_logical_line.s | 7 +- c64/kernal/screen/screen_off.s | 7 +- c64/kernal/screen/screen_on.s | 7 +- c64/kernal/screen/screen_preserve_sal_eal.s | 7 +- c64/kernal/screen/screen_restore_sal_eal.s | 7 +- c64/kernal/tape/load_tape_normal.s | 7 +- c64/kernal/tape/load_tape_turbo.s | 7 +- c64/kernal/tape/tape_common.s | 7 +- c64/kernal/tape/tape_common_clean_sid.s | 7 +- c64/kernal/tape/tape_common_ditch_verify.s | 7 +- c64/kernal/tape/tape_common_motor.s | 7 +- c64/kernal/tape/tape_common_prepare_cia.s | 7 +- c64/kernal/tape/tape_common_screen.s | 7 +- c64/kernal/tape/tape_normal_get_bit.s | 7 +- c64/kernal/tape/tape_normal_get_byte.s | 7 +- c64/kernal/tape/tape_normal_get_data.s | 7 +- c64/kernal/tape/tape_normal_get_marker.s | 8 +- c64/kernal/tape/tape_normal_get_pulse.s | 8 +- c64/kernal/tape/tape_normal_pilot.s | 8 +- c64/kernal/tape/tape_normal_sync.s | 7 +- c64/kernal/tape/tape_turbo_bytestore.s | 7 +- c64/kernal/tape/tape_turbo_get_bit.s | 7 +- c64/kernal/tape/tape_turbo_get_byte.s | 7 +- c64/kernal/tape/tape_turbo_sync.s | 7 +- c64/kernal/tape/tape_turbo_sync_first.s | 7 +- c64/kernal/tape/tape_turbo_sync_measure.s | 7 +- c64/kernal/time/rdtim.s | 7 +- c64/kernal/time/settim.s | 7 +- c64/kernal/time/udtim.s | 7 +- src/build_segment.cc | 5 +- 326 files changed, 1553 insertions(+), 1840 deletions(-) diff --git a/c64/basic/,stubs/a408.reason.s b/c64/basic/,stubs/a408.reason.s index cc75fcb8..8bca5016 100644 --- a/c64/basic/,stubs/a408.reason.s +++ b/c64/basic/,stubs/a408.reason.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation REASON: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/a453.unknown.s b/c64/basic/,stubs/a453.unknown.s index 1aef3f04..02ae9dac 100644 --- a/c64/basic/,stubs/a453.unknown.s +++ b/c64/basic/,stubs/a453.unknown.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/a57c.chrnch.s b/c64/basic/,stubs/a57c.chrnch.s index 61e459bb..b5e3df12 100644 --- a/c64/basic/,stubs/a57c.chrnch.s +++ b/c64/basic/,stubs/a57c.chrnch.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official BASIC routine, described in: @@ -12,6 +14,3 @@ CHRNCH: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/a644.new.s b/c64/basic/,stubs/a644.new.s index 0e99bcdb..73c8df60 100644 --- a/c64/basic/,stubs/a644.new.s +++ b/c64/basic/,stubs/a644.new.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and real implementation new: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/a659.setcharptr.s b/c64/basic/,stubs/a659.setcharptr.s index d0c6dc75..64a573a3 100644 --- a/c64/basic/,stubs/a659.setcharptr.s +++ b/c64/basic/,stubs/a659.setcharptr.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation // see: https://www.lemon64.com/forum/viewtopic.php?t=64721&sid=bc400a5a6d404f8f092e4d32a92f5de7 @@ -6,6 +9,3 @@ setcharptr: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/a71a.qplop.s b/c64/basic/,stubs/a71a.qplop.s index 6613fc99..921a807a 100644 --- a/c64/basic/,stubs/a71a.qplop.s +++ b/c64/basic/,stubs/a71a.qplop.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official BASIC routine, described in: @@ -12,6 +14,3 @@ QPLOP: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/a7e4.gone.s b/c64/basic/,stubs/a7e4.gone.s index 9d598298..bfbc4435 100644 --- a/c64/basic/,stubs/a7e4.gone.s +++ b/c64/basic/,stubs/a7e4.gone.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official BASIC routine, described in: @@ -12,6 +14,3 @@ GONE: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/ad9e.frmevl.s b/c64/basic/,stubs/ad9e.frmevl.s index a63ec8b2..2a246f66 100644 --- a/c64/basic/,stubs/ad9e.frmevl.s +++ b/c64/basic/,stubs/ad9e.frmevl.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation FRMEVL: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/ae86.eval.s b/c64/basic/,stubs/ae86.eval.s index b2bf858d..b8e06255 100644 --- a/c64/basic/,stubs/ae86.eval.s +++ b/c64/basic/,stubs/ae86.eval.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official BASIC routine, described in: @@ -12,6 +14,3 @@ EVAL: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/e38b.error.s b/c64/basic/,stubs/e38b.error.s index 4d270eba..e057f13a 100644 --- a/c64/basic/,stubs/e38b.error.s +++ b/c64/basic/,stubs/e38b.error.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official BASIC routine, described in: @@ -12,6 +14,3 @@ ERROR: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/e3bf.init.s b/c64/basic/,stubs/e3bf.init.s index 9c63859d..25cf67c0 100644 --- a/c64/basic/,stubs/e3bf.init.s +++ b/c64/basic/,stubs/e3bf.init.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation INIT: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/,stubs/e453.rvect.s b/c64/basic/,stubs/e453.rvect.s index cc58e236..b8322901 100644 --- a/c64/basic/,stubs/e453.rvect.s +++ b/c64/basic/,stubs/e453.rvect.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation RVECT: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/a533.linkprg.s b/c64/basic/a533.linkprg.s index fabfd806..4db59db1 100644 --- a/c64/basic/a533.linkprg.s +++ b/c64/basic/a533.linkprg.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known BASIC routine, described in: @@ -90,6 +92,3 @@ linkprg_end_of_line_search: sta OLDTXT+0 jmp linkprg_loop - - -#endif // ROM layout diff --git a/c64/basic/a68e.runc.s b/c64/basic/a68e.runc.s index 13fe9092..f0a8aeb1 100644 --- a/c64/basic/a68e.runc.s +++ b/c64/basic/a68e.runc.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Well-known BASIC routine, described in: // @@ -26,6 +28,3 @@ RUNC: sta TXTPTR+1 rts - - -#endif // ROM layout diff --git a/c64/basic/a7ae.newstt.s b/c64/basic/a7ae.newstt.s index 152e22ab..79aed4d6 100644 --- a/c64/basic/a7ae.newstt.s +++ b/c64/basic/a7ae.newstt.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Well-known BASIC routine, described in: // @@ -17,6 +19,3 @@ NEWSTT: // For now, lets cheat a little - this should provide some compatibility: jmp cmd_run - - -#endif // ROM layout diff --git a/c64/basic/ab1e.strout.s b/c64/basic/ab1e.strout.s index 01da716d..0317550a 100644 --- a/c64/basic/ab1e.strout.s +++ b/c64/basic/ab1e.strout.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Print string at $YYAA // Computes Mapping the 64 p101 @@ -33,6 +35,3 @@ STROUT: pla // XXX can we use plx_trash_a here? tax rts - - -#endif // ROM layout diff --git a/c64/basic/basic_adray1.s b/c64/basic/basic_adray1.s index c23e0256..201195a2 100644 --- a/c64/basic/basic_adray1.s +++ b/c64/basic/basic_adray1.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation basic_adray1: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/basic_adray2.s b/c64/basic/basic_adray2.s index 32bfc72f..afb58e61 100644 --- a/c64/basic/basic_adray2.s +++ b/c64/basic/basic_adray2.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // XXX provide documentation and implementation basic_adray2: STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/basic/basic_delete_line.s b/c64/basic/basic_delete_line.s index 2da34969..d7491d1d 100644 --- a/c64/basic/basic_delete_line.s +++ b/c64/basic/basic_delete_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Delete the current BASIC line, which is assumed to have already // been found with basic_find_line. @@ -82,6 +84,3 @@ basic_delete_line: clc rts - - -#endif // ROM layout diff --git a/c64/basic/basic_do_error.s b/c64/basic/basic_do_error.s index e3ef4bec..084a8bea 100644 --- a/c64/basic/basic_do_error.s +++ b/c64/basic/basic_do_error.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Computes Mapping the 64 p93 @@ -31,6 +33,3 @@ basic_do_error: ldx #$FE txs jmp basic_main_loop - - -#endif // ROM layout diff --git a/c64/basic/basic_execute_line.s b/c64/basic/basic_execute_line.s index 81064f46..9268327a 100644 --- a/c64/basic/basic_execute_line.s +++ b/c64/basic/basic_execute_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Jump back into the BASIC execute line loop // after first checking that we have a colon @@ -367,6 +369,3 @@ basic_command_jump_table: .word cmd_unimplemented-1 .word cmd_unimplemented-1 .word cmd_unimplemented-1 - - -#endif // ROM layout diff --git a/c64/basic/basic_find_line.s b/c64/basic/basic_find_line.s index cc35e1bb..45102507 100644 --- a/c64/basic/basic_find_line.s +++ b/c64/basic/basic_find_line.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Find the BASIC line with number LINNUM @@ -81,6 +84,3 @@ more_lines_exist: sta OLDTXT+0 jmp basic_find_line_loop - - -#endif // ROM layout diff --git a/c64/basic/basic_find_next_line.s b/c64/basic/basic_find_next_line.s index fc2f5b97..6c2cba88 100644 --- a/c64/basic/basic_find_next_line.s +++ b/c64/basic/basic_find_next_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Advance OLDTXT by following the // link to the next line @@ -27,6 +29,3 @@ basic_find_next_line: pla sta OLDTXT+0 rts - - -#endif // ROM layout diff --git a/c64/basic/basic_follow_link_to_next_line.s b/c64/basic/basic_follow_link_to_next_line.s index 5b32eae9..5a4acd2c 100644 --- a/c64/basic/basic_follow_link_to_next_line.s +++ b/c64/basic/basic_follow_link_to_next_line.s @@ -1,5 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) - +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE basic_follow_link_to_next_line: ldy #0 @@ -24,6 +25,3 @@ basic_follow_link_to_next_line: pla sta OLDTXT+0 rts - - -#endif // ROM layout diff --git a/c64/basic/basic_insert_line.s b/c64/basic/basic_insert_line.s index 9eb95955..25212e01 100644 --- a/c64/basic/basic_insert_line.s +++ b/c64/basic/basic_insert_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Insert the tokenised line stored at $0200. // First work out where in the list to put it @@ -100,6 +102,3 @@ line_store_loop: clc rts - - -#endif // ROM layout diff --git a/c64/basic/basic_main_loop.s b/c64/basic/basic_main_loop.s index af6fa6d3..8e880687 100644 --- a/c64/basic/basic_main_loop.s +++ b/c64/basic/basic_main_loop.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE basic_main_loop: @@ -176,6 +178,3 @@ not_a_line: sta CURLIN+1 jmp basic_execute_statement - - -#endif // ROM layout diff --git a/c64/basic/basic_parse_line_number.s b/c64/basic/basic_parse_line_number.s index 3e1ae801..3e8b8ce7 100644 --- a/c64/basic/basic_parse_line_number.s +++ b/c64/basic/basic_parse_line_number.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE basic_parse_line_number: @@ -27,6 +29,3 @@ ml_bad_line_number: sta LINNUM+1 clc rts - - -#endif // ROM layout diff --git a/c64/basic/basic_shift_mem_down.s b/c64/basic/basic_shift_mem_down.s index 2daa4fa2..0ab14abd 100644 --- a/c64/basic/basic_shift_mem_down.s +++ b/c64/basic/basic_shift_mem_down.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE basic_shift_mem_down_and_relink: @@ -171,6 +173,3 @@ relink_down_loop: clc rts - - -#endif // ROM layout diff --git a/c64/basic/basic_shift_mem_up.s b/c64/basic/basic_shift_mem_up.s index 763582f2..3ff1eb07 100644 --- a/c64/basic/basic_shift_mem_up.s +++ b/c64/basic/basic_shift_mem_up.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE basic_shift_mem_up_and_relink: @@ -203,6 +205,3 @@ relink_up_loop: bcs relink_up_next_line rts - - -#endif // ROM layout diff --git a/c64/basic/basic_vector_defaults.s b/c64/basic/basic_vector_defaults.s index 6646b345..9e7ebb73 100644 --- a/c64/basic/basic_vector_defaults.s +++ b/c64/basic/basic_vector_defaults.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Default values for BASIC vectors - described in: @@ -20,6 +22,3 @@ basic_vector_defaults_2: .word basic_adray1 // ADRAY1 .word basic_adray2 // ADRAY2 - - -#endif // ROM layout diff --git a/c64/basic/bdcd.linprt.s b/c64/basic/bdcd.linprt.s index 1f104e3b..284b626e 100644 --- a/c64/basic/bdcd.linprt.s +++ b/c64/basic/bdcd.linprt.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known BASIC routine, described in: @@ -11,6 +13,3 @@ LINPRT: // XXX This is temporary, to allow some software to work! // To be replaced by real impleementation. jmp print_integer - - -#endif // ROM layout diff --git a/c64/basic/c000.skip_gap.s b/c64/basic/c000.skip_gap.s index 5d45cdcf..9d256aeb 100644 --- a/c64/basic/c000.skip_gap.s +++ b/c64/basic/c000.skip_gap.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Skip the gap between $C000-$DFFF .fill $2000, $00 - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_break.s b/c64/basic/commands/cmd_break.s index 17673e7d..ee1a5768 100644 --- a/c64/basic/commands/cmd_break.s +++ b/c64/basic/commands/cmd_break.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE cmd_stop: @@ -23,6 +25,3 @@ cmd_stop: cmd_end: jmp basic_main_loop - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_list.s b/c64/basic/commands/cmd_list.s index ef3822cf..973ebc89 100644 --- a/c64/basic/commands/cmd_list.s +++ b/c64/basic/commands/cmd_list.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // LIST basic text. // XXX - Does not currently support line number ranges @@ -147,6 +150,3 @@ list_is_literal: list_end_of_line: // Print end of line jmp print_return - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_load.s b/c64/basic/commands/cmd_load.s index 70cb30df..17f1fee7 100644 --- a/c64/basic/commands/cmd_load.s +++ b/c64/basic/commands/cmd_load.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE cmd_load: @@ -129,6 +131,3 @@ load_no_error: // XXX - should run program if LOAD was used in program mode jmp basic_main_loop - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_new.s b/c64/basic/commands/cmd_new.s index f4ddf91b..fc455a77 100644 --- a/c64/basic/commands/cmd_new.s +++ b/c64/basic/commands/cmd_new.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE cmd_new: @@ -80,6 +82,3 @@ basic_do_clr: sta STREND+1 rts - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_rem.s b/c64/basic/commands/cmd_rem.s index 4d6daaa9..c8b9b021 100644 --- a/c64/basic/commands/cmd_rem.s +++ b/c64/basic/commands/cmd_rem.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // REM statement just skips to the next line cmd_rem: jmp basic_end_of_line - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_run.s b/c64/basic/commands/cmd_run.s index 310a4d34..e37f7854 100644 --- a/c64/basic/commands/cmd_run.s +++ b/c64/basic/commands/cmd_run.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE cmd_run: @@ -23,6 +25,3 @@ cmd_goto: !: // Run it! jmp basic_execute_from_current_line - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_sys.s b/c64/basic/commands/cmd_sys.s index b4953c7b..2278aafc 100644 --- a/c64/basic/commands/cmd_sys.s +++ b/c64/basic/commands/cmd_sys.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE cmd_sys: @@ -69,6 +71,3 @@ cmd_sys_setup_call: cmd_sys_hack_str: .byte $FF, $AC, $36, $35, $36, $00 - - -#endif // ROM layout diff --git a/c64/basic/commands/cmd_unimplemented.s b/c64/basic/commands/cmd_unimplemented.s index 0252f1ef..59407688 100644 --- a/c64/basic/commands/cmd_unimplemented.s +++ b/c64/basic/commands/cmd_unimplemented.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Default handler for all not-yet-implemented commands @@ -156,6 +158,3 @@ cmd_go: cmd_unimplemented: jmp do_NOT_IMPLEMENTED_error - - -#endif // ROM layout diff --git a/c64/basic/do_basic_error.s b/c64/basic/do_basic_error.s index 1e388470..6bf58362 100644 --- a/c64/basic/do_basic_error.s +++ b/c64/basic/do_basic_error.s @@ -1,6 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE -// As many errors are triggered from many places in the BASIC +// As many errors are triggered from many places in the BASIC // interprettor, it is important to have an efficicent means of // calling them. // LDX #$nn / jmp do_basic_error @@ -167,6 +169,3 @@ do_basic_error: // XXX - Restore stack depth first? jmp basic_main_loop - - -#endif // ROM layout diff --git a/c64/basic/fac1_mul.s b/c64/basic/fac1_mul.s index cd14ce64..b69f9714 100644 --- a/c64/basic/fac1_mul.s +++ b/c64/basic/fac1_mul.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Multiply Floating Point Accumulator by 10 // = 8x + 2x @@ -97,6 +99,3 @@ f1md2_l1: dey bpl f1md2_l1 rts - - -#endif // ROM layout diff --git a/c64/basic/init/a000.cold_start_vector.s b/c64/basic/init/a000.cold_start_vector.s index 7a02167a..067b0f64 100644 --- a/c64/basic/init/a000.cold_start_vector.s +++ b/c64/basic/init/a000.cold_start_vector.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Computes Mapping the C64 p88 .word basic_cold_start - - -#endif // ROM layout diff --git a/c64/basic/init/a002.warm_start_vector.s b/c64/basic/init/a002.warm_start_vector.s index f909e6b7..411e17a5 100644 --- a/c64/basic/init/a002.warm_start_vector.s +++ b/c64/basic/init/a002.warm_start_vector.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Computes Mapping the C64 p88 .word basic_warm_start - - -#endif // ROM layout diff --git a/c64/basic/init/basic_cold_start_internal.s b/c64/basic/init/basic_cold_start_internal.s index 01e4ea6a..e321d9e7 100644 --- a/c64/basic/init/basic_cold_start_internal.s +++ b/c64/basic/init/basic_cold_start_internal.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Continuation of the BASIC cold start routine @@ -41,6 +43,3 @@ basic_cold_start_internal: // jump into warm start loop jmp basic_warm_start - - -#endif // ROM layout diff --git a/c64/basic/init/basic_warm_start_internal.s b/c64/basic/init/basic_warm_start_internal.s index be115d9e..f9ad47c0 100644 --- a/c64/basic/init/basic_warm_start_internal.s +++ b/c64/basic/init/basic_warm_start_internal.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Continuation of the BASIC cold start routine @@ -28,6 +30,3 @@ basic_warm_start_real: !: jmp basic_main_loop - - -#endif // ROM layout diff --git a/c64/basic/init/e394.basic_cold_start.s b/c64/basic/init/e394.basic_cold_start.s index 8f59919f..76419f1c 100644 --- a/c64/basic/init/e394.basic_cold_start.s +++ b/c64/basic/init/e394.basic_cold_start.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // BASIC Cold start entry point @@ -23,6 +25,3 @@ basic_cold_start: // Remaining part would not fit here jmp basic_cold_start_internal - - -#endif // ROM layout diff --git a/c64/basic/init/e3b7.basic_warm_start.jmp.s b/c64/basic/init/e3b7.basic_warm_start.jmp.s index 0e1f0031..144ba4b6 100644 --- a/c64/basic/init/e3b7.basic_warm_start.jmp.s +++ b/c64/basic/init/e3b7.basic_warm_start.jmp.s @@ -1,10 +1,10 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Clear screen etc, show READY prompt. basic_warm_start: jmp basic_warm_start_real - - -#endif // ROM layout diff --git a/c64/basic/init/e422.initmsg.jmp.s b/c64/basic/init/e422.initmsg.jmp.s index cdbac7ea..9d69690f 100644 --- a/c64/basic/init/e422.initmsg.jmp.s +++ b/c64/basic/init/e422.initmsg.jmp.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known BASIC routine, described in: @@ -10,6 +12,3 @@ INITMSG: jmp initmsg_real - - -#endif // ROM layout diff --git a/c64/basic/init/initmsg_bytes_free.s b/c64/basic/init/initmsg_bytes_free.s index 03ac32ce..ee2c4fa5 100644 --- a/c64/basic/init/initmsg_bytes_free.s +++ b/c64/basic/init/initmsg_bytes_free.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print out the amount of free bytes - for the startup banner @@ -20,6 +22,3 @@ initmsg_bytes_free: // Print rest of the start up message ldx #34 jmp print_packed_message - - -#endif // ROM layout diff --git a/c64/basic/init/initmsg_real.s b/c64/basic/init/initmsg_real.s index 107ce04e..15ca951c 100644 --- a/c64/basic/init/initmsg_real.s +++ b/c64/basic/init/initmsg_real.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Routine is too long to fit in the original location @@ -151,6 +154,3 @@ initmsg_real: #endif - - -#endif // ROM layout diff --git a/c64/basic/init/startup_banner.s b/c64/basic/init/startup_banner.s index 21955b67..faedc2c3 100644 --- a/c64/basic/init/startup_banner.s +++ b/c64/basic/init/startup_banner.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // Startup banner, to be displayed during cold start @@ -111,6 +113,3 @@ pre_revision_string: // .byte $0D,$05,$92,$00 #endif - - -#endif // ROM layout diff --git a/c64/basic/init_oldtxt.s b/c64/basic/init_oldtxt.s index a4e42014..9879e463 100644 --- a/c64/basic/init_oldtxt.s +++ b/c64/basic/init_oldtxt.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE init_oldtxt: @@ -9,6 +11,3 @@ init_oldtxt: sta OLDTXT+1 rts - - -#endif // ROM layout diff --git a/c64/basic/injest_comma.s b/c64/basic/injest_comma.s index b890fd92..2e59ead9 100644 --- a/c64/basic/injest_comma.s +++ b/c64/basic/injest_comma.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Consummes a comma in a BASIC code, C set for no coma found @@ -19,6 +21,3 @@ injest_comma: injest_comma_found: clc rts - - -#endif // ROM layout diff --git a/c64/basic/injest_number.s b/c64/basic/injest_number.s index 14c97fe2..8fef2c70 100644 --- a/c64/basic/injest_number.s +++ b/c64/basic/injest_number.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Parse a number from the input buffer at (TXTPTR) @@ -152,6 +154,3 @@ erase_fac1: sta FACOV rts - - -#endif // ROM layout diff --git a/c64/basic/pack_word.s b/c64/basic/pack_word.s index 0157b13b..5b8e502e 100644 --- a/c64/basic/pack_word.s +++ b/c64/basic/pack_word.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Pack a word using the simple compression scheme. // This has to be the same implementation as in compress_text.c @@ -255,6 +257,3 @@ not_a_match: // Not a char that we can pack, so return 0 lda #$00 rts - - -#endif // ROM layout diff --git a/c64/basic/peek_line_pointer_null_check.s b/c64/basic/peek_line_pointer_null_check.s index a35509ac..d3368be5 100644 --- a/c64/basic/peek_line_pointer_null_check.s +++ b/c64/basic/peek_line_pointer_null_check.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Return C=1 if a pointer in BASIC memory space is NULL, else C=0 // X = ZP pointer to check @@ -34,6 +36,3 @@ peek_line_pointer_null_check: ptr_not_null: sec rts - - -#endif // ROM layout diff --git a/c64/basic/print_integer.s b/c64/basic/print_integer.s index a0aed8fc..72c0f68a 100644 --- a/c64/basic/print_integer.s +++ b/c64/basic/print_integer.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Works similar to $BDCD in original C64 BASIC // XXX Should eventually get replaced by a more flexible and optimal routine. @@ -144,6 +146,3 @@ number_table_hi: .byte 0,8,1,9,2 .byte 1,6,3,8,4 .byte 3,2,7,6,8 - - -#endif // ROM layout diff --git a/c64/basic/print_packed_message.s b/c64/basic/print_packed_message.s index 71e162da..8aba8b25 100644 --- a/c64/basic/print_packed_message.s +++ b/c64/basic/print_packed_message.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // This routine prints messages that have been packed // using the make_error_tables program. @@ -228,6 +230,3 @@ is_uncommon_char: phy_trash_a jmp has_nybl - - -#endif // ROM layout diff --git a/c64/basic/ready_message.s b/c64/basic/ready_message.s index 95dbc00f..791cb7eb 100644 --- a/c64/basic/ready_message.s +++ b/c64/basic/ready_message.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE ready_message: @@ -6,6 +8,3 @@ ready_message: // information. ldx #29 jmp print_packed_message - - -#endif // ROM layout diff --git a/c64/basic/rom_revision/a004.identifier.s b/c64/basic/rom_revision/a004.identifier.s index 241d37c6..2edea486 100644 --- a/c64/basic/rom_revision/a004.identifier.s +++ b/c64/basic/rom_revision/a004.identifier.s @@ -1,10 +1,10 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE + // Computes Mapping the 64, p89 // 8 character name // MEGABAS2 = "MEGA BASIC 2" .byte $4D,$45,$47,$41,$42,$41,$53,$32 - - -#endif // ROM layout diff --git a/c64/basic/rom_revision/bf52.rom_revision_basic.s b/c64/basic/rom_revision/bf52.rom_revision_basic.s index 1a1d89bb..91438dac 100644 --- a/c64/basic/rom_revision/bf52.rom_revision_basic.s +++ b/c64/basic/rom_revision/bf52.rom_revision_basic.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // !!! PROPOSAL ONLY !!! PROPOSAL ONLY !!! NOT FOR USING EXTERNALLY YET !!! @@ -31,6 +33,3 @@ rom_revision_basic_string: .byte $00 // marks the end of string __rom_revision_basic_end: - - -#endif // ROM layout diff --git a/c64/basic/rom_revision/e4b7.rom_revision_kernal.s b/c64/basic/rom_revision/e4b7.rom_revision_kernal.s index bb11b2f2..e9254347 100644 --- a/c64/basic/rom_revision/e4b7.rom_revision_kernal.s +++ b/c64/basic/rom_revision/e4b7.rom_revision_kernal.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // // !!! PROPOSAL ONLY !!! PROPOSAL ONLY !!! NOT FOR USING EXTERNALLY YET !!! @@ -45,6 +47,3 @@ rom_revision_kernal_string: .byte $00 // marks the end of string __rom_revision_kernal_end: - - -#endif // ROM layout diff --git a/c64/basic/select_device.s b/c64/basic/select_device.s index 408397b2..ba23425d 100644 --- a/c64/basic/select_device.s +++ b/c64/basic/select_device.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE select_device: @@ -17,6 +19,3 @@ select_device: ldx #$08 !: rts - - -#endif // ROM layout diff --git a/c64/basic/tokenise_line.s b/c64/basic/tokenise_line.s index 54405d93..0c54eed7 100644 --- a/c64/basic/tokenise_line.s +++ b/c64/basic/tokenise_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // Tokenise a line of BASIC // Stored at $0200 @@ -268,6 +270,3 @@ done_searching_for_token: sec lda #$00 rts - - -#endif // ROM layout diff --git a/c64/basic/under_rom_routines.s b/c64/basic/under_rom_routines.s index e4f80525..611b7e65 100644 --- a/c64/basic/under_rom_routines.s +++ b/c64/basic/under_rom_routines.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE // IMPORTANT: // These routines lengths cannot be changed without changing @@ -154,6 +156,3 @@ smd1: rts #endif - - -#endif // ROM layout diff --git a/c64/basic/wedge_dos.s b/c64/basic/wedge_dos.s index 68e50117..7b7db2a6 100644 --- a/c64/basic/wedge_dos.s +++ b/c64/basic/wedge_dos.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_DOS_WEDGE @@ -258,6 +260,3 @@ wedge_dos_setnam: jmp JSETNAM #endif // CONFIG_DOS_WEDGE - - -#endif // ROM layout diff --git a/c64/basic/wedge_tape.s b/c64/basic/wedge_tape.s index 1503f3c4..ffc41f27 100644 --- a/c64/basic/wedge_tape.s +++ b/c64/basic/wedge_tape.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_BASIC_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * BASIC_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_TAPE_WEDGE @@ -34,6 +36,3 @@ wedge_tape: #endif // CONFIG_TAPE_WEDGE - - -#endif // ROM layout diff --git a/c64/kernal/,disabled/u64_load.s b/c64/kernal/,disabled/u64_load.s index 2bdc4d73..6d1d916a 100644 --- a/c64/kernal/,disabled/u64_load.s +++ b/c64/kernal/,disabled/u64_load.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // LOAD routine hook for fast loading via UltiDOS @@ -130,6 +132,3 @@ u64_load_check_status_ok: jmp !- !: rts - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/e6b6.advance_cursor.s b/c64/kernal/,stubs/e6b6.advance_cursor.s index b9a279ba..22378e62 100644 --- a/c64/kernal/,stubs/e6b6.advance_cursor.s +++ b/c64/kernal/,stubs/e6b6.advance_cursor.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/e701.previous_line.s b/c64/kernal/,stubs/e701.previous_line.s index b9a279ba..22378e62 100644 --- a/c64/kernal/,stubs/e701.previous_line.s +++ b/c64/kernal/,stubs/e701.previous_line.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/e716.chrout_screen.s b/c64/kernal/,stubs/e716.chrout_screen.s index 009d09d4..98e607bb 100644 --- a/c64/kernal/,stubs/e716.chrout_screen.s +++ b/c64/kernal/,stubs/e716.chrout_screen.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // Screen CHROUT STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/e96c.insert_line_at_top.s b/c64/kernal/,stubs/e96c.insert_line_at_top.s index 2a42c3c1..bdb40c9d 100644 --- a/c64/kernal/,stubs/e96c.insert_line_at_top.s +++ b/c64/kernal/,stubs/e96c.insert_line_at_top.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // Insert line at top of screen STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/f3f6.unknown.s b/c64/kernal/,stubs/f3f6.unknown.s index b9a279ba..22378e62 100644 --- a/c64/kernal/,stubs/f3f6.unknown.s +++ b/c64/kernal/,stubs/f3f6.unknown.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/f646.iec_close.s b/c64/kernal/,stubs/f646.iec_close.s index 7b4f1ba9..5bd31cbd 100644 --- a/c64/kernal/,stubs/f646.iec_close.s +++ b/c64/kernal/,stubs/f646.iec_close.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // IEC close STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/,stubs/fd90.unknown.s b/c64/kernal/,stubs/fd90.unknown.s index b9a279ba..22378e62 100644 --- a/c64/kernal/,stubs/fd90.unknown.s +++ b/c64/kernal/,stubs/fd90.unknown.s @@ -1,8 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // XXX provide documentation and implementation STUB_IMPLEMENTATION() - - -#endif // ROM layout diff --git a/c64/kernal/errors.s b/c64/kernal/errors.s index fc8c137a..91a85fe0 100644 --- a/c64/kernal/errors.s +++ b/c64/kernal/errors.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Kernal error codes are described in 'Commodore 64 Programmers Reference Guide', page 306 @@ -91,6 +93,3 @@ kernalstatus_DEVICE_NOT_FOUND: ora #K_STS_DEVICE_NOT_FOUND sta IOSTATUS rts - - -#endif // ROM layout diff --git a/c64/kernal/iec/acptr.s b/c64/kernal/iec/acptr.s index 98d44570..4739e5db 100644 --- a/c64/kernal/iec/acptr.s +++ b/c64/kernal/iec/acptr.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -29,6 +31,3 @@ ACPTR: #else jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/chkin_iec.s b/c64/kernal/iec/chkin_iec.s index f2f094dc..c63e424a 100644 --- a/c64/kernal/iec/chkin_iec.s +++ b/c64/kernal/iec/chkin_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the CHKIN routine @@ -30,6 +32,3 @@ chkin_iec: jmp chkin_set_device #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/chrin_iec.s b/c64/kernal/iec/chrin_iec.s index 8c216097..2154cb5a 100644 --- a/c64/kernal/iec/chrin_iec.s +++ b/c64/kernal/iec/chrin_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the CHRIN routine @@ -9,6 +11,3 @@ chrin_iec: // XXX is this really all? jmp JACPTR - - -#endif // ROM layout diff --git a/c64/kernal/iec/chrout_iec.s b/c64/kernal/iec/chrout_iec.s index c40b1804..d8c41ab5 100644 --- a/c64/kernal/iec/chrout_iec.s +++ b/c64/kernal/iec/chrout_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the CHROUT routine @@ -11,6 +13,3 @@ chrout_iec: jsr JCIOUT bcc_16 chrout_done_success jmp chrout_done_fail - - -#endif // ROM layout diff --git a/c64/kernal/iec/ciout.s b/c64/kernal/iec/ciout.s index 3edcf734..6a35c029 100644 --- a/c64/kernal/iec/ciout.s +++ b/c64/kernal/iec/ciout.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -48,6 +50,3 @@ ciout_send_byte: rts #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/ckout_iec.s b/c64/kernal/iec/ckout_iec.s index 389ee058..dcbd4aa3 100644 --- a/c64/kernal/iec/ckout_iec.s +++ b/c64/kernal/iec/ckout_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the CKOUT routine @@ -30,6 +32,3 @@ ckout_iec: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/close_iec.s b/c64/kernal/iec/close_iec.s index c2a16c12..d4ef88ac 100644 --- a/c64/kernal/iec/close_iec.s +++ b/c64/kernal/iec/close_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the CLOSE routine @@ -34,6 +36,3 @@ close_iec_end: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/clrchn_iec.s b/c64/kernal/iec/clrchn_iec.s index 85801050..263f924f 100644 --- a/c64/kernal/iec/clrchn_iec.s +++ b/c64/kernal/iec/clrchn_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the CLRCHN routine @@ -29,6 +31,3 @@ clrchn_iec: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_check_devnum.s b/c64/kernal/iec/iec_check_devnum.s index c4b9beb2..8dd5de91 100644 --- a/c64/kernal/iec/iec_check_devnum.s +++ b/c64/kernal/iec/iec_check_devnum.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Checks whether device number (in .A) is a correct IEC device number @@ -32,6 +34,3 @@ iec_check_devnum_failed: rts #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_close_load.s b/c64/kernal/iec/iec_close_load.s index aba2fa33..4c088b8f 100644 --- a/c64/kernal/iec/iec_close_load.s +++ b/c64/kernal/iec/iec_close_load.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Common part of CLOSE and LOAD/SAVE routines for IEC @@ -30,6 +32,3 @@ iec_close_load: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_cmd_close.s b/c64/kernal/iec/iec_cmd_close.s index 3a18f4cf..095e2000 100644 --- a/c64/kernal/iec/iec_cmd_close.s +++ b/c64/kernal/iec/iec_cmd_close.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Kernal internal IEC routine @@ -22,6 +24,3 @@ iec_cmd_close: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_cmd_open.s b/c64/kernal/iec/iec_cmd_open.s index 5630fa24..6d1bba33 100644 --- a/c64/kernal/iec/iec_cmd_open.s +++ b/c64/kernal/iec/iec_cmd_open.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Kernal internal IEC routine @@ -67,6 +69,3 @@ iec_check_channel_openclose: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_pull_release.s b/c64/kernal/iec/iec_pull_release.s index 2924ce36..d6fb93e0 100644 --- a/c64/kernal/iec/iec_pull_release.s +++ b/c64/kernal/iec/iec_pull_release.s @@ -1,89 +1,88 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Helper IEC routines to pull/release certain lines -// -// Order of operation is set for extra robustness, on non-emulated hardware -// lines might need few cycles to stabilize (released CLK = DATA considered valid), -// see page 10 of http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf -// - - - -#if CONFIG_IEC - - -iec_pull_atn_clk_release_data: - - lda CIA2_PRA - ora #BIT_CIA2_PRA_ATN_OUT // pull - sta CIA2_PRA - - // FALLTROUGH - -iec_pull_clk_release_data: - - lda CIA2_PRA - ora #BIT_CIA2_PRA_CLK_OUT // pull - sta CIA2_PRA -!: - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - bne iec_pull_release_end // branch always - -iec_pull_clk_release_data_oneshot: - - lda CIA2_PRA - ora #BIT_CIA2_PRA_CLK_OUT // pull - bne !- // branch always - -iec_release_atn_clk_data: - - lda CIA2_PRA - and #$FF - BIT_CIA2_PRA_ATN_OUT // release - sta CIA2_PRA - - // FALLTROUGH - -iec_release_clk_data: - - lda CIA2_PRA - and #$FF - BIT_CIA2_PRA_DAT_OUT // release - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - jmp iec_pull_release_end - -iec_release_clk_pull_data: - - lda CIA2_PRA - ora #BIT_CIA2_PRA_DAT_OUT // pull - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - bne iec_pull_release_end // branch always - -iec_pull_data_release_atn_clk: - - lda CIA2_PRA - ora #BIT_CIA2_PRA_DAT_OUT // pull - sta CIA2_PRA - and #$FF - BIT_CIA2_PRA_CLK_OUT // release - sta CIA2_PRA - - // FALLTROUGH - -iec_release_atn: - - lda CIA2_PRA - and #$FF - BIT_CIA2_PRA_ATN_OUT // release - - // FALLTROUGH - -iec_pull_release_end: - - sta CIA2_PRA - rts - - -#endif // CONFIG_IEC - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Helper IEC routines to pull/release certain lines +// +// Order of operation is set for extra robustness, on non-emulated hardware +// lines might need few cycles to stabilize (released CLK = DATA considered valid), +// see page 10 of http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf +// + + + +#if CONFIG_IEC + + +iec_pull_atn_clk_release_data: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_ATN_OUT // pull + sta CIA2_PRA + + // FALLTROUGH + +iec_pull_clk_release_data: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_CLK_OUT // pull + sta CIA2_PRA +!: + and #$FF - BIT_CIA2_PRA_DAT_OUT // release + bne iec_pull_release_end // branch always + +iec_pull_clk_release_data_oneshot: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_CLK_OUT // pull + bne !- // branch always + +iec_release_atn_clk_data: + + lda CIA2_PRA + and #$FF - BIT_CIA2_PRA_ATN_OUT // release + sta CIA2_PRA + + // FALLTROUGH + +iec_release_clk_data: + + lda CIA2_PRA + and #$FF - BIT_CIA2_PRA_DAT_OUT // release + sta CIA2_PRA + and #$FF - BIT_CIA2_PRA_CLK_OUT // release + jmp iec_pull_release_end + +iec_release_clk_pull_data: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_DAT_OUT // pull + sta CIA2_PRA + and #$FF - BIT_CIA2_PRA_CLK_OUT // release + bne iec_pull_release_end // branch always + +iec_pull_data_release_atn_clk: + + lda CIA2_PRA + ora #BIT_CIA2_PRA_DAT_OUT // pull + sta CIA2_PRA + and #$FF - BIT_CIA2_PRA_CLK_OUT // release + sta CIA2_PRA + + // FALLTROUGH + +iec_release_atn: + + lda CIA2_PRA + and #$FF - BIT_CIA2_PRA_ATN_OUT // release + + // FALLTROUGH + +iec_pull_release_end: + + sta CIA2_PRA + rts + + +#endif // CONFIG_IEC diff --git a/c64/kernal/iec/iec_return.s b/c64/kernal/iec/iec_return.s index 3141f1dd..0c0377a4 100644 --- a/c64/kernal/iec/iec_return.s +++ b/c64/kernal/iec/iec_return.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routines to return with error/success @@ -40,6 +42,3 @@ iec_return_DEVICE_NOT_FOUND: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_rx_byte.s b/c64/kernal/iec/iec_rx_byte.s index eb4fc393..9dd110df 100644 --- a/c64/kernal/iec/iec_rx_byte.s +++ b/c64/kernal/iec/iec_rx_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Receive a byte from the IEC bus. // Implemented based on https://www.pagetable.com/?p=1135, https://github.com/mist64/cbmbus_doc, @@ -157,6 +159,3 @@ iec_rx_end: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_rx_check_eoi.s b/c64/kernal/iec/iec_rx_check_eoi.s index 6b5e9403..26de252e 100644 --- a/c64/kernal/iec/iec_rx_check_eoi.s +++ b/c64/kernal/iec/iec_rx_check_eoi.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routine to check for EOI while receiving byte from IEC @@ -40,6 +42,3 @@ iec_rx_check_eoi_done: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_send_file_name.s b/c64/kernal/iec/iec_send_file_name.s index 46a35577..b250612a 100644 --- a/c64/kernal/iec/iec_send_file_name.s +++ b/c64/kernal/iec/iec_send_file_name.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Sends file (stream) name to IEC device @@ -43,6 +45,3 @@ iec_send_file_name_done: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_set_idle.s b/c64/kernal/iec/iec_set_idle.s index 0c2b1f7b..a6f135c8 100644 --- a/c64/kernal/iec/iec_set_idle.s +++ b/c64/kernal/iec/iec_set_idle.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_IEC @@ -13,6 +15,3 @@ iec_set_idle: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_turnaround_to_listen.s b/c64/kernal/iec/iec_turnaround_to_listen.s index 6a2c4094..9dbd9bf4 100644 --- a/c64/kernal/iec/iec_turnaround_to_listen.s +++ b/c64/kernal/iec/iec_turnaround_to_listen.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // According to http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf // pages 7--8. @@ -41,6 +43,3 @@ iec_turnaround_to_listen: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_turnaround_to_talk.s b/c64/kernal/iec/iec_turnaround_to_talk.s index 0cc73093..2c5032a8 100644 --- a/c64/kernal/iec/iec_turnaround_to_talk.s +++ b/c64/kernal/iec/iec_turnaround_to_talk.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // According to http://www.zimmers.net/anonftp/pub/cbm/programming/serial-bus.pdf // pages 7--8. @@ -33,6 +35,3 @@ iec_turnaround_to_talk: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_tx_byte.s b/c64/kernal/iec/iec_tx_byte.s index 5e6a98c8..53295b0a 100644 --- a/c64/kernal/iec/iec_tx_byte.s +++ b/c64/kernal/iec/iec_tx_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Implemented based on https://www.pagetable.com/?p=1135, https://github.com/mist64/cbmbus_doc @@ -162,6 +164,3 @@ iec_tx_common_finalize: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_tx_command.s b/c64/kernal/iec/iec_tx_command.s index 7d636fab..68d2b8f7 100644 --- a/c64/kernal/iec/iec_tx_command.s +++ b/c64/kernal/iec/iec_tx_command.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Implemented based on https://www.pagetable.com/?p=1135, https://github.com/mist64/cbmbus_doc @@ -42,6 +44,3 @@ iec_tx_command: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_tx_command_finalize.s b/c64/kernal/iec/iec_tx_command_finalize.s index f0322fcc..22b3594c 100644 --- a/c64/kernal/iec/iec_tx_command_finalize.s +++ b/c64/kernal/iec/iec_tx_command_finalize.s @@ -1,5 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Routine to finalize some IEC commands - which do not end in turnaround and are not followed by others // Implemented based on https://www.pagetable.com/?p=1135, https://github.com/mist64/cbmbus_doc @@ -24,6 +25,3 @@ iec_tx_command_finalize: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_tx_flush.s b/c64/kernal/iec/iec_tx_flush.s index 3b870d71..f2c7141b 100644 --- a/c64/kernal/iec/iec_tx_flush.s +++ b/c64/kernal/iec/iec_tx_flush.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Flush the IEC output buffer (if not empty) - send byte with EOI // @@ -21,6 +23,3 @@ iec_tx_flush: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_update_eal_by_y.s b/c64/kernal/iec/iec_update_eal_by_y.s index 8248345e..88187449 100644 --- a/c64/kernal/iec/iec_update_eal_by_y.s +++ b/c64/kernal/iec/iec_update_eal_by_y.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Common EAL update routine @@ -20,6 +22,3 @@ iec_update_EAL_by_Y: // note: Carry has to be set by caller! #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_wait1ms.s b/c64/kernal/iec/iec_wait1ms.s index bcbc48ce..2b1452fd 100644 --- a/c64/kernal/iec/iec_wait1ms.s +++ b/c64/kernal/iec/iec_wait1ms.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Wait 1 ms (1000 usec) @@ -32,6 +34,3 @@ wait_x_bars: // additional entry point for delayy in screen and tape support iec_wait_rts: // dummy RTS, for very short waits rts - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_wait20us.s b/c64/kernal/iec/iec_wait20us.s index 1056544d..d5db90ed 100644 --- a/c64/kernal/iec/iec_wait20us.s +++ b/c64/kernal/iec/iec_wait20us.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_IEC @@ -27,6 +29,3 @@ iec_wait20us: // 21 cycles #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_wait60us.s b/c64/kernal/iec/iec_wait60us.s index e9812926..6b83e45f 100644 --- a/c64/kernal/iec/iec_wait60us.s +++ b/c64/kernal/iec/iec_wait60us.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Note: damages .X @@ -32,6 +34,3 @@ iec_wait60us: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_wait_for_clk_release.s b/c64/kernal/iec/iec_wait_for_clk_release.s index a3e038a6..ac259952 100644 --- a/c64/kernal/iec/iec_wait_for_clk_release.s +++ b/c64/kernal/iec/iec_wait_for_clk_release.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_IEC @@ -12,6 +14,3 @@ iec_wait_for_clk_release: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_wait_for_data_pull.s b/c64/kernal/iec/iec_wait_for_data_pull.s index 6635419f..d74a5675 100644 --- a/c64/kernal/iec/iec_wait_for_data_pull.s +++ b/c64/kernal/iec/iec_wait_for_data_pull.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_IEC @@ -14,6 +16,3 @@ iec_wait_for_data_pull: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/iec_wait_for_data_release.s b/c64/kernal/iec/iec_wait_for_data_release.s index 99688ed6..d4f483b4 100644 --- a/c64/kernal/iec/iec_wait_for_data_release.s +++ b/c64/kernal/iec/iec_wait_for_data_release.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_IEC @@ -13,6 +15,3 @@ iec_wait_for_data_release: rts #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/listen.s b/c64/kernal/iec/listen.s index 0f408c73..33bb554d 100644 --- a/c64/kernal/iec/listen.s +++ b/c64/kernal/iec/listen.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -34,6 +36,3 @@ LISTEN: jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/load_iec.s b/c64/kernal/iec/load_iec.s index 321072cf..578e9f97 100644 --- a/c64/kernal/iec/load_iec.s +++ b/c64/kernal/iec/load_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the LOAD routine @@ -193,6 +195,3 @@ load_iec_get_addr_byte: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/open_iec.s b/c64/kernal/iec/open_iec.s index c2c95dfe..a2ed2354 100644 --- a/c64/kernal/iec/open_iec.s +++ b/c64/kernal/iec/open_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the OPEN routine @@ -39,6 +41,3 @@ open_iec_done: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/save_iec.s b/c64/kernal/iec/save_iec.s index 59e3bfa2..a90827a7 100644 --- a/c64/kernal/iec/save_iec.s +++ b/c64/kernal/iec/save_iec.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // IEC part of the SAVE routine @@ -126,6 +128,3 @@ iec_save_loop_end: #endif // CONFIG_IEC - - -#endif // ROM layout diff --git a/c64/kernal/iec/second.s b/c64/kernal/iec/second.s index a5a1fb54..60fce725 100644 --- a/c64/kernal/iec/second.s +++ b/c64/kernal/iec/second.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -29,6 +31,3 @@ SECOND: jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/talk.s b/c64/kernal/iec/talk.s index 54216edd..23b0504e 100644 --- a/c64/kernal/iec/talk.s +++ b/c64/kernal/iec/talk.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -47,6 +49,3 @@ common_talk_listen: // common part of TALK and LISTEN jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/tksa.s b/c64/kernal/iec/tksa.s index 1084121e..59d0b9e5 100644 --- a/c64/kernal/iec/tksa.s +++ b/c64/kernal/iec/tksa.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -29,6 +31,3 @@ TKSA: jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/unlsn.s b/c64/kernal/iec/unlsn.s index df96b33a..d727fd92 100644 --- a/c64/kernal/iec/unlsn.s +++ b/c64/kernal/iec/unlsn.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -36,6 +38,3 @@ UNLSN: jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec/untlk.s b/c64/kernal/iec/untlk.s index 221d7698..2fab716a 100644 --- a/c64/kernal/iec/untlk.s +++ b/c64/kernal/iec/untlk.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -47,6 +49,3 @@ common_untlk_tksa: // common part of UNTLK and TKSA jmp kernalerror_ILLEGAL_DEVICE_NUMBER #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/burst_cia1_advertise.s b/c64/kernal/iec_fast/burst_cia1_advertise.s index 34cfa431..eb7e6e2b 100644 --- a/c64/kernal/iec_fast/burst_cia1_advertise.s +++ b/c64/kernal/iec_fast/burst_cia1_advertise.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Advertise burst IEC protocol support to the receiver @@ -32,6 +34,3 @@ burst_advertise_done: #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/burst_cia2_advertise.s b/c64/kernal/iec_fast/burst_cia2_advertise.s index c73134dc..26303cc5 100644 --- a/c64/kernal/iec_fast/burst_cia2_advertise.s +++ b/c64/kernal/iec_fast/burst_cia2_advertise.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Advertise burst IEC protocol support to the receiver @@ -56,6 +58,3 @@ burst_advertise_done: #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/burst_soft_advertise.s b/c64/kernal/iec_fast/burst_soft_advertise.s index bcbe565c..7e9e9dcf 100644 --- a/c64/kernal/iec_fast/burst_soft_advertise.s +++ b/c64/kernal/iec_fast/burst_soft_advertise.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Advertise burst IEC protocol support to the receiver @@ -27,6 +29,3 @@ burst_advertise_done: #endif - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/dolphindos_detect.s b/c64/kernal/iec_fast/dolphindos_detect.s index 75abe6d7..92a53649 100644 --- a/c64/kernal/iec_fast/dolphindos_detect.s +++ b/c64/kernal/iec_fast/dolphindos_detect.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routine for JiffyDOS detection @@ -61,6 +63,3 @@ dolphindos_detect_success: #endif // CONFIG_IEC_DOLPHINDOS - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/dolphindos_load.s b/c64/kernal/iec_fast/dolphindos_load.s index 9d57239a..f32a8502 100644 --- a/c64/kernal/iec_fast/dolphindos_load.s +++ b/c64/kernal/iec_fast/dolphindos_load.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // DolphinDOS protocol support for IEC - optimized load loop @@ -118,6 +120,3 @@ dolphindos_load_end: #endif // CONFIG_IEC_DOLPHINDOS and not CONFIG_MEMORY_MODEL_60K - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_bittable.s b/c64/kernal/iec_fast/jiffydos_bittable.s index 930e1665..0ac8081e 100644 --- a/c64/kernal/iec_fast/jiffydos_bittable.s +++ b/c64/kernal/iec_fast/jiffydos_bittable.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper table for encoding lower nibble for JiffyDOS, @@ -38,6 +40,3 @@ jiffydos_bittable: #endif // CONFIG_IEC_JIFFYDOS - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_detect.s b/c64/kernal/iec_fast/jiffydos_detect.s index 982590d5..3488ee6b 100644 --- a/c64/kernal/iec_fast/jiffydos_detect.s +++ b/c64/kernal/iec_fast/jiffydos_detect.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routine for JiffyDOS detection @@ -50,6 +52,3 @@ jiffydos_detect_end: #endif // CONFIG_IEC_JIFFYDOS - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_load.s b/c64/kernal/iec_fast/jiffydos_load.s index d6f4c168..0fc3a11b 100644 --- a/c64/kernal/iec_fast/jiffydos_load.s +++ b/c64/kernal/iec_fast/jiffydos_load.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // JiffyDOS protocol support for IEC - optimized load loop @@ -169,6 +171,3 @@ jiffydos_load_end: #endif // CONFIG_IEC_JIFFYDOS and not CONFIG_MEMORY_MODEL_60K - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_prepare.s b/c64/kernal/iec_fast/jiffydos_prepare.s index 4acf4011..214248af 100644 --- a/c64/kernal/iec_fast/jiffydos_prepare.s +++ b/c64/kernal/iec_fast/jiffydos_prepare.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // JiffyDOS transfer preparation routine @@ -28,6 +30,3 @@ jiffydos_prepare: #endif // CONFIG_IEC_JIFFYDOS - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_rx_byte.s b/c64/kernal/iec_fast/jiffydos_rx_byte.s index 3b25675f..13406df8 100644 --- a/c64/kernal/iec_fast/jiffydos_rx_byte.s +++ b/c64/kernal/iec_fast/jiffydos_rx_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // JiffyDOS protocol support for IEC - byte reception @@ -109,6 +111,3 @@ jiffydos_rx_byte_end: #endif // CONFIG_IEC_JIFFYDOS - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_tx_byte.s b/c64/kernal/iec_fast/jiffydos_tx_byte.s index 85c2f0cf..d600cc3f 100644 --- a/c64/kernal/iec_fast/jiffydos_tx_byte.s +++ b/c64/kernal/iec_fast/jiffydos_tx_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // JiffyDOS protocol support for IEC - byte transfer @@ -102,6 +104,3 @@ jiffydos_tx_byte_wait_eoi: #endif // CONFIG_IEC_JIFFYDOS - - -#endif // ROM layout diff --git a/c64/kernal/iec_fast/jiffydos_wait_line.s b/c64/kernal/iec_fast/jiffydos_wait_line.s index a086d3d1..171b3f18 100644 --- a/c64/kernal/iec_fast/jiffydos_wait_line.s +++ b/c64/kernal/iec_fast/jiffydos_wait_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // JiffyDOS helper routine to wait for appropriate moment, @@ -33,6 +35,3 @@ jiffydos_wait_line_done: #endif // CONFIG_IEC_JIFFYDOS - - -#endif // ROM layout diff --git a/c64/kernal/init/cartridge_check.s b/c64/kernal/init/cartridge_check.s index f8705b27..b47c61e7 100644 --- a/c64/kernal/init/cartridge_check.s +++ b/c64/kernal/init/cartridge_check.s @@ -1,18 +1,22 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // c64 prg p263 cartridge_check: + ldx #$05 -cartridge_check_l1: +!: lda CART_SIG-1,x cmp cartridge_signature-1,x - bne no_cartridge + bne cartridge_check_end dex - bne cartridge_check_l1 + bne !- + // FALLTROUGH -no_cartridge: + +cartridge_check_end: + rts - - -#endif // ROM layout diff --git a/c64/kernal/init/cint_screen_keyboard.s b/c64/kernal/init/cint_screen_keyboard.s index 70dad444..ad2241c3 100644 --- a/c64/kernal/init/cint_screen_keyboard.s +++ b/c64/kernal/init/cint_screen_keyboard.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // This is a part CINT which initializes screen and keyboard @@ -6,6 +8,8 @@ // For more details see: // - [RG64] C64 Programmers Reference Guide - page 280 // - [CM64] Computes Mapping the Commodore 64 - page 242 +// + cint_screen_keyboard: @@ -70,6 +74,3 @@ cint_screen_keyboard: // Fallthrough/jump to screen clear routine (Computes Mapping the 64 p215) jmp clear_screen - - -#endif // ROM layout diff --git a/c64/kernal/init/e518.cint_legacy.s b/c64/kernal/init/e518.cint_legacy.s index 8b404300..a143692d 100644 --- a/c64/kernal/init/e518.cint_legacy.s +++ b/c64/kernal/init/e518.cint_legacy.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Part of the official Kernal routine, described in: @@ -21,6 +23,3 @@ cint_legacy: // $E518 // Game 'Operacja Proboszcz' is one example. jmp cint_screen_keyboard // XXX try to fit the code here - - -#endif // ROM layout diff --git a/c64/kernal/init/e5a0.setup_vicii.s b/c64/kernal/init/e5a0.setup_vicii.s index 30958d41..a7a3e4f4 100644 --- a/c64/kernal/init/e5a0.setup_vicii.s +++ b/c64/kernal/init/e5a0.setup_vicii.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known Kernal routine, described in: @@ -65,6 +67,3 @@ setup_vicii: // Setup default I/O devices jmp clrchn_reset - - -#endif // ROM layout diff --git a/c64/kernal/init/fce2.hw_entry_reset.s b/c64/kernal/init/fce2.hw_entry_reset.s index ab646e89..dbe2c942 100644 --- a/c64/kernal/init/fce2.hw_entry_reset.s +++ b/c64/kernal/init/fce2.hw_entry_reset.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Resources describing the C64 reset sequence: // https://www.c64-wiki.com/wiki/Reset_(Process) @@ -50,6 +52,3 @@ hw_entry_reset: // c64 prg p269 jmp (IBASIC_COLD_START) - - -#endif // ROM layout diff --git a/c64/kernal/init/fda3.ioinit.s b/c64/kernal/init/fda3.ioinit.s index 758b2dab..e0fa1ecd 100644 --- a/c64/kernal/init/fda3.ioinit.s +++ b/c64/kernal/init/fda3.ioinit.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -144,6 +146,3 @@ IOINIT: rts #endif - - -#endif // ROM layout diff --git a/c64/kernal/init/ff5b.cint.s b/c64/kernal/init/ff5b.cint.s index e7d0aefa..784bb73f 100644 --- a/c64/kernal/init/ff5b.cint.s +++ b/c64/kernal/init/ff5b.cint.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -13,6 +15,3 @@ CINT: jsr cint_legacy jmp setup_pal_ntsc - - -#endif // ROM layout diff --git a/c64/kernal/init/fffc.vector_reset.s b/c64/kernal/init/fffc.vector_reset.s index 07ab436f..c8322445 100644 --- a/c64/kernal/init/fffc.vector_reset.s +++ b/c64/kernal/init/fffc.vector_reset.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // $FFFC - CPU Reset Vector // Uncontrovertial, as it is a CPU requirement, and nothing else. .word hw_entry_reset - - -#endif // ROM layout diff --git a/c64/kernal/init/setup_pal_ntsc.s b/c64/kernal/init/setup_pal_ntsc.s index 91b70b58..ebc22052 100644 --- a/c64/kernal/init/setup_pal_ntsc.s +++ b/c64/kernal/init/setup_pal_ntsc.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Detect video system (PAL/NTSC), use method by Graham, as it is short and reliable // see here: https://codebase64.org/doku.php?id=base:detect_pal_ntsc @@ -60,6 +62,3 @@ setup_irq_timer: // entry point needed by UP9600 and CIA1 burst mod support sta CIA1_TIMAHI // $DC05 rts - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/ea31.default_irq_handler.s b/c64/kernal/interrupts/ea31.default_irq_handler.s index f5380e5e..671839a3 100644 --- a/c64/kernal/interrupts/ea31.default_irq_handler.s +++ b/c64/kernal/interrupts/ea31.default_irq_handler.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE default_irq_handler: @@ -44,6 +46,3 @@ default_irq_handler_end_tape: // Acknowledge CIA interrupt and return jmp clear_cia1_interrupt_flag_and_return_from_interrupt - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/ea7e.ack_cia1_return_from_interrupt.s b/c64/kernal/interrupts/ea7e.ack_cia1_return_from_interrupt.s index be43f53c..6ba7c968 100644 --- a/c64/kernal/interrupts/ea7e.ack_cia1_return_from_interrupt.s +++ b/c64/kernal/interrupts/ea7e.ack_cia1_return_from_interrupt.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // https://csdb.dk/forums/index.php?roomid=11&topicid=5776 // Clear the CIA1 interrupt flag, and then fall through to @@ -11,6 +14,3 @@ clear_cia1_interrupt_flag_and_return_from_interrupt: ldy CIA1_ICR // FALL THROUGH to $EA81 - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/ea81.return_from_interrupt.s b/c64/kernal/interrupts/ea81.return_from_interrupt.s index c98fdc5a..4a834206 100644 --- a/c64/kernal/interrupts/ea81.return_from_interrupt.s +++ b/c64/kernal/interrupts/ea81.return_from_interrupt.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // The IRQ is a commonly messed with thing on the C64, // so we need to handle entry points that are commonly @@ -17,7 +19,5 @@ return_from_interrupt: ply_trash_a plx_trash_a pla + rti - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/fe47.default_nmi_handler.s b/c64/kernal/interrupts/fe47.default_nmi_handler.s index 80d22c67..96a2bccb 100644 --- a/c64/kernal/interrupts/fe47.default_nmi_handler.s +++ b/c64/kernal/interrupts/fe47.default_nmi_handler.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + default_nmi_handler: @@ -31,6 +34,3 @@ default_nmi_handler: sta CMP0+0 sta CMP0+1 jmp (CBINV) - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/fe66.default_brk_handler.s b/c64/kernal/interrupts/fe66.default_brk_handler.s index 0be9fe7b..bcec92a5 100644 --- a/c64/kernal/interrupts/fe66.default_brk_handler.s +++ b/c64/kernal/interrupts/fe66.default_brk_handler.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + default_brk_handler: @@ -23,6 +26,3 @@ default_brk_handler: cli jmp (IBASIC_WARM_START) - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/fffa.vector_nmi.s b/c64/kernal/interrupts/fffa.vector_nmi.s index af50742b..c33c2602 100644 --- a/c64/kernal/interrupts/fffa.vector_nmi.s +++ b/c64/kernal/interrupts/fffa.vector_nmi.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // $FFFA - CPU NMI Hanlder // Uncontrovertial as this is also a CPU requirement. .word hw_entry_nmi - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/fffe.vector_irq.s b/c64/kernal/interrupts/fffe.vector_irq.s index 1000bac8..755e9c57 100644 --- a/c64/kernal/interrupts/fffe.vector_irq.s +++ b/c64/kernal/interrupts/fffe.vector_irq.s @@ -1,10 +1,10 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // $FFFE - CPU IRQ Vector. // This is non-controvertial, as it is a 6502 CPU requirement, and we just have to point // it to whatever IRQ routine we make. .word hw_entry_irq - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/hw_entry_irq.s b/c64/kernal/interrupts/hw_entry_irq.s index 8fe45c93..8177de7c 100644 --- a/c64/kernal/interrupts/hw_entry_irq.s +++ b/c64/kernal/interrupts/hw_entry_irq.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE hw_entry_irq: @@ -48,6 +50,3 @@ irq_handler_brk: // Interrupt caused by BRK jmp (CBINV) - - -#endif // ROM layout diff --git a/c64/kernal/interrupts/hw_entry_nmi.s b/c64/kernal/interrupts/hw_entry_nmi.s index 017e54c2..2ed19829 100644 --- a/c64/kernal/interrupts/hw_entry_nmi.s +++ b/c64/kernal/interrupts/hw_entry_nmi.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE hw_entry_nmi: @@ -20,6 +22,3 @@ hw_entry_nmi: // Vector not initialized - call default interrupt routine pla jmp default_nmi_handler - - -#endif // ROM layout diff --git a/c64/kernal/iostack/chkinout.s b/c64/kernal/iostack/chkinout.s index 951a4f92..1d7c2043 100644 --- a/c64/kernal/iostack/chkinout.s +++ b/c64/kernal/iostack/chkinout.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Common part of CHKIN and CKOUT @@ -17,6 +19,3 @@ chkinout_file_not_open: ply_trash_a pla jmp kernalerror_FILE_NOT_OPEN - - -#endif // ROM layout diff --git a/c64/kernal/iostack/clall_real.s b/c64/kernal/iostack/clall_real.s index 820d6a88..7243d7d6 100644 --- a/c64/kernal/iostack/clall_real.s +++ b/c64/kernal/iostack/clall_real.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -34,6 +36,3 @@ clall_real: // Not sure whether original Kernal does so, but it seems sane to also clear possible errors jmp kernalstatus_reset - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f13e.getin.s b/c64/kernal/iostack/f13e.getin.s index 88e36f11..c3017601 100644 --- a/c64/kernal/iostack/f13e.getin.s +++ b/c64/kernal/iostack/f13e.getin.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -12,6 +14,3 @@ GETIN: jmp getin_real - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f157.chrin.s b/c64/kernal/iostack/f157.chrin.s index f9d43402..b663cd93 100644 --- a/c64/kernal/iostack/f157.chrin.s +++ b/c64/kernal/iostack/f157.chrin.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -47,6 +49,3 @@ chrin_getin: // jump entry for GETIN // Not a supported device jmp lvs_device_not_found_error - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f1ca.chrout.s b/c64/kernal/iostack/f1ca.chrout.s index ebc31152..b528a8bb 100644 --- a/c64/kernal/iostack/f1ca.chrout.s +++ b/c64/kernal/iostack/f1ca.chrout.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -76,6 +78,3 @@ chrout_done_success: lda SCHAR clc // indicate success rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f20e.chkin.s b/c64/kernal/iostack/f20e.chkin.s index 965bb970..99259751 100644 --- a/c64/kernal/iostack/f20e.chkin.s +++ b/c64/kernal/iostack/f20e.chkin.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routines, described in: @@ -68,6 +70,3 @@ chkin_file_not_input: ply_trash_a pla jmp kernalerror_FILE_NOT_INPUT - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f250.ckout.s b/c64/kernal/iostack/f250.ckout.s index 32fe73b1..a99f359e 100644 --- a/c64/kernal/iostack/f250.ckout.s +++ b/c64/kernal/iostack/f250.ckout.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routines, described in: @@ -61,6 +63,3 @@ ckout_file_not_output: ply_trash_a pla jmp kernalerror_FILE_NOT_OUTPUT - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f291.close.s b/c64/kernal/iostack/f291.close.s index 7a31ea5a..1a5b49a6 100644 --- a/c64/kernal/iostack/f291.close.s +++ b/c64/kernal/iostack/f291.close.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -56,6 +58,3 @@ close_remove_from_table: close_end: rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f32f.clall.jmp.s b/c64/kernal/iostack/f32f.clall.jmp.s index 69efe881..3305e94a 100644 --- a/c64/kernal/iostack/f32f.clall.jmp.s +++ b/c64/kernal/iostack/f32f.clall.jmp.s @@ -1,4 +1,7 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // Our implementation is longer than the original one, // placing it here would cause a collision with CLRCHN @@ -6,6 +9,3 @@ CLALL: jmp clall_real - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f333.clrchn.s b/c64/kernal/iostack/f333.clrchn.s index ef566281..7e316739 100644 --- a/c64/kernal/iostack/f333.clrchn.s +++ b/c64/kernal/iostack/f333.clrchn.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -31,6 +33,3 @@ clrchn_reset: // entry needed by setup_vicii sta DFLTO rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f34a.open.s b/c64/kernal/iostack/f34a.open.s index 67c373c1..6387bdf1 100644 --- a/c64/kernal/iostack/f34a.open.s +++ b/c64/kernal/iostack/f34a.open.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -77,6 +79,3 @@ open_done_success: clc rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f49e.load_prep.s b/c64/kernal/iostack/f49e.load_prep.s index 523444a4..6d71806c 100644 --- a/c64/kernal/iostack/f49e.load_prep.s +++ b/c64/kernal/iostack/f49e.load_prep.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // LOAD preparation routine @@ -22,6 +24,3 @@ LOAD_PREP: sty MEMUSS+1 stx MEMUSS+0 jmp (ILOAD) - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f4a5.load.s b/c64/kernal/iostack/f4a5.load.s index 66850933..7c39a23e 100644 --- a/c64/kernal/iostack/f4a5.load.s +++ b/c64/kernal/iostack/f4a5.load.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -57,6 +59,3 @@ LOAD: #endif jmp lvs_illegal_device_number - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f5dd.save_prep.s b/c64/kernal/iostack/f5dd.save_prep.s index a595e1c4..be34baea 100644 --- a/c64/kernal/iostack/f5dd.save_prep.s +++ b/c64/kernal/iostack/f5dd.save_prep.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // SAVE preparation routine @@ -28,6 +30,3 @@ SAVE_PREP: sta STAL+0 jmp (ISAVE) - - -#endif // ROM layout diff --git a/c64/kernal/iostack/f5ed.save.s b/c64/kernal/iostack/f5ed.save.s index 57ef482c..caf08d01 100644 --- a/c64/kernal/iostack/f5ed.save.s +++ b/c64/kernal/iostack/f5ed.save.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -29,6 +31,3 @@ SAVE: #endif jmp lvs_illegal_device_number - - -#endif // ROM layout diff --git a/c64/kernal/iostack/findfls.s b/c64/kernal/iostack/findfls.s index 07517924..52c04c5a 100644 --- a/c64/kernal/iostack/findfls.s +++ b/c64/kernal/iostack/findfls.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Just a helper routine @@ -21,6 +23,3 @@ find_fls_not_found: sec rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/getin_real.s b/c64/kernal/iostack/getin_real.s index 01f29026..335c0319 100644 --- a/c64/kernal/iostack/getin_real.s +++ b/c64/kernal/iostack/getin_real.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -27,6 +29,3 @@ getin_real: #endif // HAS_RS232 jmp chrin_getin - - -#endif // ROM layout diff --git a/c64/kernal/iostack/load_save_common.s b/c64/kernal/iostack/load_save_common.s index d8350989..7e6e0fb2 100644 --- a/c64/kernal/iostack/load_save_common.s +++ b/c64/kernal/iostack/load_save_common.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper functions for various LOAD/VERIFY/SAVE routine variants (IEC / U64 / etc.) @@ -271,6 +273,3 @@ lvs_verify_error: rts #endif - - -#endif // ROM layout diff --git a/c64/kernal/iostack/readst.s b/c64/kernal/iostack/readst.s index 0c2d29b7..2c103c4b 100644 --- a/c64/kernal/iostack/readst.s +++ b/c64/kernal/iostack/readst.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -30,6 +32,3 @@ READST: lda IOSTATUS rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/setfls.s b/c64/kernal/iostack/setfls.s index 64f4ecb5..086124d3 100644 --- a/c64/kernal/iostack/setfls.s +++ b/c64/kernal/iostack/setfls.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -19,6 +21,3 @@ SETFLS: stx FA rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/setmsg.s b/c64/kernal/iostack/setmsg.s index 60790752..5465e3c8 100644 --- a/c64/kernal/iostack/setmsg.s +++ b/c64/kernal/iostack/setmsg.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -10,8 +12,6 @@ // SETMSG: + sta MSGFLG rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/setnam.s b/c64/kernal/iostack/setnam.s index 42191c4d..fd13b15a 100644 --- a/c64/kernal/iostack/setnam.s +++ b/c64/kernal/iostack/setnam.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -19,6 +21,3 @@ SETNAM: stx FNADDR + 0 rts - - -#endif // ROM layout diff --git a/c64/kernal/iostack/settmo.s b/c64/kernal/iostack/settmo.s index f237ef28..1c100118 100644 --- a/c64/kernal/iostack/settmo.s +++ b/c64/kernal/iostack/settmo.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -11,8 +13,6 @@ SETTMO: + sta TIMOUT rts - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff81.jcint.s b/c64/kernal/jumptable/ff81.jcint.s index 996a3ad1..c15b3754 100644 --- a/c64/kernal/jumptable/ff81.jcint.s +++ b/c64/kernal/jumptable/ff81.jcint.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // Initialise screen editor // C64 Programmers Reference Guide Page 272 jmp CINT - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff84.jioinit.s b/c64/kernal/jumptable/ff84.jioinit.s index f80e7374..4aec4521 100644 --- a/c64/kernal/jumptable/ff84.jioinit.s +++ b/c64/kernal/jumptable/ff84.jioinit.s @@ -1,9 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + // Initialise input/output // C64 Programmers Reference Guide Page 272 jmp IOINIT - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff87.jramtas.s b/c64/kernal/jumptable/ff87.jramtas.s index 3a948d26..5e0b2f47 100644 --- a/c64/kernal/jumptable/ff87.jramtas.s +++ b/c64/kernal/jumptable/ff87.jramtas.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Initialise RAM, allocate tape buffer, set screen to $0400 // C64 Programmers Reference Guide Page 273 jmp RAMTAS - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff8a.jrestor.s b/c64/kernal/jumptable/ff8a.jrestor.s index 67480085..b424d743 100644 --- a/c64/kernal/jumptable/ff8a.jrestor.s +++ b/c64/kernal/jumptable/ff8a.jrestor.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Restore default IO vectors // C64 Programmers Reference Guide Page 273 jmp RESTOR - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff8d.jvector.s b/c64/kernal/jumptable/ff8d.jvector.s index d8aa7536..473164b5 100644 --- a/c64/kernal/jumptable/ff8d.jvector.s +++ b/c64/kernal/jumptable/ff8d.jvector.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Read/set vectored I/O // C64 Programmers Reference Guide Page 273 jmp VECTOR - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff90.jsetmsg.s b/c64/kernal/jumptable/ff90.jsetmsg.s index db47557b..7f68b5d0 100644 --- a/c64/kernal/jumptable/ff90.jsetmsg.s +++ b/c64/kernal/jumptable/ff90.jsetmsg.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Control KERNAL messages // C64 Programmers Reference Guide Page 273 jmp SETMSG - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff93.jsecond.s b/c64/kernal/jumptable/ff93.jsecond.s index 09bd1785..afe4fc44 100644 --- a/c64/kernal/jumptable/ff93.jsecond.s +++ b/c64/kernal/jumptable/ff93.jsecond.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Send secondary address after LISTEN // C64 Programmers Reference Guide Page 273 jmp SECOND - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff96.jtksa.s b/c64/kernal/jumptable/ff96.jtksa.s index 7684d841..5045e23e 100644 --- a/c64/kernal/jumptable/ff96.jtksa.s +++ b/c64/kernal/jumptable/ff96.jtksa.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Send secondary address after talk // C64 Programmers Reference Guide Page 273 jmp TKSA - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff99.jmemtop.s b/c64/kernal/jumptable/ff99.jmemtop.s index 59857cdf..69516338 100644 --- a/c64/kernal/jumptable/ff99.jmemtop.s +++ b/c64/kernal/jumptable/ff99.jmemtop.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // read/set the top of memory // C64 Programmers Reference Guide Page 272 jmp MEMTOP - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff9c.jmembot.s b/c64/kernal/jumptable/ff9c.jmembot.s index 39a538d2..557f9b68 100644 --- a/c64/kernal/jumptable/ff9c.jmembot.s +++ b/c64/kernal/jumptable/ff9c.jmembot.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // read/set the bottom of memory // C64 Programmers Reference Guide Page 272 jmp MEMBOT - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ff9f.jscnkey.s b/c64/kernal/jumptable/ff9f.jscnkey.s index a91699a6..b7fba783 100644 --- a/c64/kernal/jumptable/ff9f.jscnkey.s +++ b/c64/kernal/jumptable/ff9f.jscnkey.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Scan keyboard // C64 Programmers Reference Guide Page 273 jmp SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffa2.jsettmo.s b/c64/kernal/jumptable/ffa2.jsettmo.s index d3819103..c96e8219 100644 --- a/c64/kernal/jumptable/ffa2.jsettmo.s +++ b/c64/kernal/jumptable/ffa2.jsettmo.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Set timeout on serial bus // C64 Programmers Reference Guide Page 273 jmp SETTMO - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffa5.jacptr.s b/c64/kernal/jumptable/ffa5.jacptr.s index 1003f2c3..c9e23a6b 100644 --- a/c64/kernal/jumptable/ffa5.jacptr.s +++ b/c64/kernal/jumptable/ffa5.jacptr.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Input byte from serial port // C64 Programmers Reference Guide Page 272 jmp ACPTR - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffa8.jciout.s b/c64/kernal/jumptable/ffa8.jciout.s index e731ebb4..92f58234 100644 --- a/c64/kernal/jumptable/ffa8.jciout.s +++ b/c64/kernal/jumptable/ffa8.jciout.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Output byte to serial port // C64 Programmers Reference Guide Page 272 jmp CIOUT - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffab.juntlk.s b/c64/kernal/jumptable/ffab.juntlk.s index b56e2056..bb061270 100644 --- a/c64/kernal/jumptable/ffab.juntlk.s +++ b/c64/kernal/jumptable/ffab.juntlk.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Command serial bus to UNTALK // C64 Programmers Reference Guide Page 273 jmp UNTLK - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffae.junlsn.s b/c64/kernal/jumptable/ffae.junlsn.s index 7fdbb0ca..98eba47e 100644 --- a/c64/kernal/jumptable/ffae.junlsn.s +++ b/c64/kernal/jumptable/ffae.junlsn.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Command serial bus to UNLISTEN // C64 Programmers Reference Guide Page 273 jmp UNLSN - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffb1.jlisten.s b/c64/kernal/jumptable/ffb1.jlisten.s index ed8194b1..c8f24e27 100644 --- a/c64/kernal/jumptable/ffb1.jlisten.s +++ b/c64/kernal/jumptable/ffb1.jlisten.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Command devices on the serial bus to listen // C64 Programmers Reference Guide Page 272 jmp LISTEN - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffb4.jtalk.s b/c64/kernal/jumptable/ffb4.jtalk.s index f81e4180..6c682674 100644 --- a/c64/kernal/jumptable/ffb4.jtalk.s +++ b/c64/kernal/jumptable/ffb4.jtalk.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Command serial bus device to talk // C64 Programmers Reference Guide Page 273 jmp TALK - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffb7.jreadst.s b/c64/kernal/jumptable/ffb7.jreadst.s index 61d01c6d..bfd9e0ef 100644 --- a/c64/kernal/jumptable/ffb7.jreadst.s +++ b/c64/kernal/jumptable/ffb7.jreadst.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Read I/O statusjmp // C64 Programmers Reference Guide Page 273 jmp READST - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffba.jsetfls.s b/c64/kernal/jumptable/ffba.jsetfls.s index f74109bf..55021177 100644 --- a/c64/kernal/jumptable/ffba.jsetfls.s +++ b/c64/kernal/jumptable/ffba.jsetfls.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Set logical, first and second addresses // C64 Programmers Reference Guide Page 273 jmp SETFLS - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffbd.jsetnam.s b/c64/kernal/jumptable/ffbd.jsetnam.s index eeb753bf..1bb61381 100644 --- a/c64/kernal/jumptable/ffbd.jsetnam.s +++ b/c64/kernal/jumptable/ffbd.jsetnam.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Set file name // C64 Programmers Reference Guide Page 273 jmp SETNAM - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffc0.jopen.s b/c64/kernal/jumptable/ffc0.jopen.s index 404bc2bf..a72b8652 100644 --- a/c64/kernal/jumptable/ffc0.jopen.s +++ b/c64/kernal/jumptable/ffc0.jopen.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // open a logical file // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (IOPEN) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffc3.jclose.s b/c64/kernal/jumptable/ffc3.jclose.s index 368ef699..5e97e0e5 100644 --- a/c64/kernal/jumptable/ffc3.jclose.s +++ b/c64/kernal/jumptable/ffc3.jclose.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // close a specified logical file // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (ICLOSE) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffc6.jchkin.s b/c64/kernal/jumptable/ffc6.jchkin.s index 9f4472bb..5d2aaf98 100644 --- a/c64/kernal/jumptable/ffc6.jchkin.s +++ b/c64/kernal/jumptable/ffc6.jchkin.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Open channel for input // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (ICHKIN) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffc9.jckout.s b/c64/kernal/jumptable/ffc9.jckout.s index 0a090ec4..e68fe86e 100644 --- a/c64/kernal/jumptable/ffc9.jckout.s +++ b/c64/kernal/jumptable/ffc9.jckout.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Open channel for output // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (ICKOUT) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffcc.jclrchn.s b/c64/kernal/jumptable/ffcc.jclrchn.s index a5706482..d1e444a4 100644 --- a/c64/kernal/jumptable/ffcc.jclrchn.s +++ b/c64/kernal/jumptable/ffcc.jclrchn.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // close input and output channels // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (ICLRCH) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffcf.jchrin.s b/c64/kernal/jumptable/ffcf.jchrin.s index ad84480a..08cab5fd 100644 --- a/c64/kernal/jumptable/ffcf.jchrin.s +++ b/c64/kernal/jumptable/ffcf.jchrin.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Input character from channel // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (IBASIN) - - -#endif // ROM layout \ No newline at end of file diff --git a/c64/kernal/jumptable/ffd2.jchrout.s b/c64/kernal/jumptable/ffd2.jchrout.s index e685f773..fb7b6a7d 100644 --- a/c64/kernal/jumptable/ffd2.jchrout.s +++ b/c64/kernal/jumptable/ffd2.jchrout.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Output character to channel // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (IBSOUT) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffd5.jload.s b/c64/kernal/jumptable/ffd5.jload.s index 092653d8..a428cb1d 100644 --- a/c64/kernal/jumptable/ffd5.jload.s +++ b/c64/kernal/jumptable/ffd5.jload.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // load RAM from a device // C64 Programmers Reference Guide Page 272 jmp LOAD_PREP - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffd8.jsave.s b/c64/kernal/jumptable/ffd8.jsave.s index f53a236c..5f755e2b 100644 --- a/c64/kernal/jumptable/ffd8.jsave.s +++ b/c64/kernal/jumptable/ffd8.jsave.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // SAVE RAM to device // C64 Programmers Reference Guide Page 273 jmp SAVE_PREP - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffdb.jsettim.s b/c64/kernal/jumptable/ffdb.jsettim.s index c6fb5529..3c0e6111 100644 --- a/c64/kernal/jumptable/ffdb.jsettim.s +++ b/c64/kernal/jumptable/ffdb.jsettim.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Set realtime clock // C64 Programmers Reference Guide Page 273 jmp SETTIM - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffde.jrdtim.s b/c64/kernal/jumptable/ffde.jrdtim.s index b269356f..5ec9a17a 100644 --- a/c64/kernal/jumptable/ffde.jrdtim.s +++ b/c64/kernal/jumptable/ffde.jrdtim.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Read real time clock // C64 Programmers Reference Guide Page 273 jmp RDTIM - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffe1.jstop.s b/c64/kernal/jumptable/ffe1.jstop.s index ac1b2b60..980b669f 100644 --- a/c64/kernal/jumptable/ffe1.jstop.s +++ b/c64/kernal/jumptable/ffe1.jstop.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Scan stop key // C64 Programmers Reference Guide Page 273 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (ISTOP) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffe4.jgetin.s b/c64/kernal/jumptable/ffe4.jgetin.s index e53a9f29..e927c5f5 100644 --- a/c64/kernal/jumptable/ffe4.jgetin.s +++ b/c64/kernal/jumptable/ffe4.jgetin.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Get character from keyboard queue (keyboard buffer) // C64 Programmers Reference Guide Page 272 // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (IGETIN) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffe7.jclall.s b/c64/kernal/jumptable/ffe7.jclall.s index efae3332..a5b9fb65 100644 --- a/c64/kernal/jumptable/ffe7.jclall.s +++ b/c64/kernal/jumptable/ffe7.jclall.s @@ -1,10 +1,9 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // $FFE7 - Close all files vector // (http://codebase64.org/doku.php?id=base:kernalreference) // According to Computes Mapping the Commodore 64 (pages 74/75), this jump is indirect jmp (ICLALL) - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffea.judtim.s b/c64/kernal/jumptable/ffea.judtim.s index 5d47b17e..d4545c64 100644 --- a/c64/kernal/jumptable/ffea.judtim.s +++ b/c64/kernal/jumptable/ffea.judtim.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // $FFEA - Update jiffy clock vector // (http://codebase64.org/doku.php?id=base:kernalreference) jmp UDTIM - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/ffed.jscreen.s b/c64/kernal/jumptable/ffed.jscreen.s index bf4c0ec7..815f9614 100644 --- a/c64/kernal/jumptable/ffed.jscreen.s +++ b/c64/kernal/jumptable/ffed.jscreen.s @@ -1,9 +1,8 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // $FFED - Return screen size (X=columns, Y=rows) // (http://codebase64.org/doku.php?id=base:kernalreference) jmp SCREEN - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/fff0.jplot.s b/c64/kernal/jumptable/fff0.jplot.s index 8ca58b05..f6206f9a 100644 --- a/c64/kernal/jumptable/fff0.jplot.s +++ b/c64/kernal/jumptable/fff0.jplot.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // $FFF0 - Get/Set cursor location vector // (http://codebase64.org/doku.php?id=base:kernalreference) @@ -6,6 +8,3 @@ // X=row, Y=column jmp PLOT - - -#endif // ROM layout diff --git a/c64/kernal/jumptable/fff3.jiobase.s b/c64/kernal/jumptable/fff3.jiobase.s index 2b84c4ed..8f0b756b 100644 --- a/c64/kernal/jumptable/fff3.jiobase.s +++ b/c64/kernal/jumptable/fff3.jiobase.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -17,6 +19,3 @@ ldy #$DC ldx #$00 rts - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/chrin_keyboard.s b/c64/kernal/keyboard/chrin_keyboard.s index dcff70e4..afdf4515 100644 --- a/c64/kernal/keyboard/chrin_keyboard.s +++ b/c64/kernal/keyboard/chrin_keyboard.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Keyboard part of the CHRIN routine @@ -171,6 +173,3 @@ chrin_programmable_key: bne !- // jumps always #endif // CONFIG_PROGRAMMABLE_KEYS - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/f142.getin_keyboard.s b/c64/kernal/keyboard/f142.getin_keyboard.s index 2afaac04..51f1ec69 100644 --- a/c64/kernal/keyboard/f142.getin_keyboard.s +++ b/c64/kernal/keyboard/f142.getin_keyboard.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known Kernal routine, described in: @@ -29,6 +31,3 @@ getin_keyboard: // XXX confirm that here is really a part of GETIN! clc rts - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/f6ed.stop.s b/c64/kernal/keyboard/f6ed.stop.s index 8aca9a8d..4bd842ff 100644 --- a/c64/kernal/keyboard/f6ed.stop.s +++ b/c64/kernal/keyboard/f6ed.stop.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -27,6 +29,3 @@ stop_pressed: sec lda #$00 rts - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix.s b/c64/kernal/keyboard/kb_matrix.s index ea6a7184..57458aae 100644 --- a/c64/kernal/keyboard/kb_matrix.s +++ b/c64/kernal/keyboard/kb_matrix.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Keyboard matrix, based on @@ -59,6 +61,3 @@ __kb_matrix_ctrl: #endif .byte $1C,$00,$1D,$00,$00,$1F,$1E,$00 .byte $90,$06,$00,$05,$00,$00,$11,$00 - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_128.s b/c64/kernal/keyboard/kb_matrix_128.s index ac63a0f3..9009f8b9 100644 --- a/c64/kernal/keyboard/kb_matrix_128.s +++ b/c64/kernal/keyboard/kb_matrix_128.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Extended keyboard matrix for Commodore 128 keyboards, based on @@ -29,6 +31,3 @@ kb_matrix_128_bucky_filter: #endif // CONFIG_KEYBOARD_C128 and no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_65.s b/c64/kernal/keyboard/kb_matrix_65.s index 3e54aec7..eb50d79b 100644 --- a/c64/kernal/keyboard/kb_matrix_65.s +++ b/c64/kernal/keyboard/kb_matrix_65.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Extended keyboard matrix for Commodore 65 keyboards, based on @@ -20,6 +22,3 @@ kb_matrix_65_shifted: #endif // CONFIG_KEYBOARD_C65 and no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_alwaysrepeat.s b/c64/kernal/keyboard/kb_matrix_alwaysrepeat.s index c9b6ea32..b49d4943 100644 --- a/c64/kernal/keyboard/kb_matrix_alwaysrepeat.s +++ b/c64/kernal/keyboard/kb_matrix_alwaysrepeat.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Matrix ids of keys which should be repeated regardless of RPTFLG @@ -22,6 +24,3 @@ __kb_matrix_alwaysrepeat_end: #endif // no CONFIG_LEGACY_SCNKEY and no CONFIG_KEY_REPEAT_ALWAYS - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_bucky.s b/c64/kernal/keyboard/kb_matrix_bucky.s index bdba72cb..089ffaef 100644 --- a/c64/kernal/keyboard/kb_matrix_bucky.s +++ b/c64/kernal/keyboard/kb_matrix_bucky.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Matrix for retrieving bucky key status on the C64 keyboard @@ -84,6 +86,3 @@ kb_matrix_bucky_shflag: // mask to be ORed to SHFLAG to mark key status #endif // no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_bucky_filter.s b/c64/kernal/keyboard/kb_matrix_bucky_filter.s index 947a470d..0c693c5d 100644 --- a/c64/kernal/keyboard/kb_matrix_bucky_filter.s +++ b/c64/kernal/keyboard/kb_matrix_bucky_filter.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Matrix for filtering out bucky keys while scanning the C64 keyboard @@ -26,6 +28,3 @@ kb_matrix_bucky_filter: #endif // no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_joy.s b/c64/kernal/keyboard/kb_matrix_joy.s index 06c06fc8..d19644f1 100644 --- a/c64/kernal/keyboard/kb_matrix_joy.s +++ b/c64/kernal/keyboard/kb_matrix_joy.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Matrix for retrieving C64 joystick status and inject is as keyboard event @@ -37,6 +39,3 @@ kb_matrix_joy_keytab_hi: .byte >__kb_matrix_normal // right #endif - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_lookup.s b/c64/kernal/keyboard/kb_matrix_lookup.s index f8bcd988..1d9715fc 100644 --- a/c64/kernal/keyboard/kb_matrix_lookup.s +++ b/c64/kernal/keyboard/kb_matrix_lookup.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper table for determining keyboard matrix decoding table on the C64 keyboard @@ -22,6 +24,3 @@ kb_matrix_lookup: .byte $FF // %111 SHIFT+VENDOR+CTRL #endif - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_lookup_legacy.s b/c64/kernal/keyboard/kb_matrix_lookup_legacy.s index 3374c8ee..b628921f 100644 --- a/c64/kernal/keyboard/kb_matrix_lookup_legacy.s +++ b/c64/kernal/keyboard/kb_matrix_lookup_legacy.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Work out if normal, shifted, control or Vendor modified keyboard. @@ -27,6 +29,3 @@ kb_matrix_lookup: .byte $80 // Vendor + CTRL + SHIFT #endif // CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_row_keys.s b/c64/kernal/keyboard/kb_matrix_row_keys.s index 6557442a..21bab4f5 100644 --- a/c64/kernal/keyboard/kb_matrix_row_keys.s +++ b/c64/kernal/keyboard/kb_matrix_row_keys.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Single row key codes for scanning the C64 keyboard @@ -28,6 +30,3 @@ kb_matrix_row_keys: #endif // no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/kb_matrix_row_offsets.s b/c64/kernal/keyboard/kb_matrix_row_offsets.s index 1f90d00a..8b0b7d5a 100644 --- a/c64/kernal/keyboard/kb_matrix_row_offsets.s +++ b/c64/kernal/keyboard/kb_matrix_row_offsets.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper values to quickly determine row offset from the start of keyboard matrix @@ -22,6 +24,3 @@ kb_matrix_row_offsets: .byte 7*8 #endif // no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/keyboard_disconnect.s b/c64/kernal/keyboard/keyboard_disconnect.s index 34aa2f89..5fb2bf73 100644 --- a/c64/kernal/keyboard/keyboard_disconnect.s +++ b/c64/kernal/keyboard/keyboard_disconnect.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routine - disconnects the keyboard from CIA1_PRB, @@ -21,6 +23,3 @@ keyboard_disconnect: #endif - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/pop_keyboard_buffer.s b/c64/kernal/keyboard/pop_keyboard_buffer.s index 142ceb23..264d0a55 100644 --- a/c64/kernal/keyboard/pop_keyboard_buffer.s +++ b/c64/kernal/keyboard/pop_keyboard_buffer.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // Pop key out of keyboard buffer // Disable interrupts while reading from keyboard buffer @@ -21,6 +23,3 @@ pop_keyboard_buffer: cli rts - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/programmable_keys.s b/c64/kernal/keyboard/programmable_keys.s index 791ca3cf..181914e0 100644 --- a/c64/kernal/keyboard/programmable_keys.s +++ b/c64/kernal/keyboard/programmable_keys.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Command string definitions for programmable keys @@ -124,6 +126,3 @@ programmable_keys_offsets: #endif // CONFIG_PROGRAMMABLE_KEYS - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/scnkey.s b/c64/kernal/keyboard/scnkey.s index 31f44917..003b38e5 100644 --- a/c64/kernal/keyboard/scnkey.s +++ b/c64/kernal/keyboard/scnkey.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -489,6 +491,3 @@ via_keylog: #endif // no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/scnkey_128.s b/c64/kernal/keyboard/scnkey_128.s index 5243f5f8..48945214 100644 --- a/c64/kernal/keyboard/scnkey_128.s +++ b/c64/kernal/keyboard/scnkey_128.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Keyboard scanning routine extension for C128 keyboards @@ -66,6 +68,3 @@ scnkey_128_no_keys: #endif // CONFIG_KEYBOARD_C128 and no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/scnkey_65.s b/c64/kernal/keyboard/scnkey_65.s index 5afb8adc..34584b72 100644 --- a/c64/kernal/keyboard/scnkey_65.s +++ b/c64/kernal/keyboard/scnkey_65.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Keyboard scanning routine extension for C65 keyboards @@ -62,8 +64,4 @@ scnkey_65_done: rts - #endif // CONFIG_KEYBOARD_C65 and no CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/scnkey_legacy.s b/c64/kernal/keyboard/scnkey_legacy.s index 50a68480..42dae86f 100644 --- a/c64/kernal/keyboard/scnkey_legacy.s +++ b/c64/kernal/keyboard/scnkey_legacy.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -528,6 +530,3 @@ KeyRepeatWait: #endif // CONFIG_LEGACY_SCNKEY - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/scnkey_set_keytab.s b/c64/kernal/keyboard/scnkey_set_keytab.s index 711b0cdc..c1da0a66 100644 --- a/c64/kernal/keyboard/scnkey_set_keytab.s +++ b/c64/kernal/keyboard/scnkey_set_keytab.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known Kernal routine, described in: @@ -80,6 +82,3 @@ scnkey_toggle_if_needed: // entry for SCNKEY (TWW/CTR version) sta VIC_YMCSB !: rts - - -#endif // ROM layout diff --git a/c64/kernal/keyboard/udtim_keyboard.s b/c64/kernal/keyboard/udtim_keyboard.s index 10fdca11..35d6724a 100644 --- a/c64/kernal/keyboard/udtim_keyboard.s +++ b/c64/kernal/keyboard/udtim_keyboard.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Keyboard part of the UDTIM routine, has to preserve .Y @@ -49,6 +51,3 @@ udtim_keyboard: // unable to, for example, read the space bar status. rts - - -#endif // ROM layout diff --git a/c64/kernal/memory/fd15.restor.s b/c64/kernal/memory/fd15.restor.s index 5e2eaf92..a4a5b106 100644 --- a/c64/kernal/memory/fd15.restor.s +++ b/c64/kernal/memory/fd15.restor.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -23,6 +25,3 @@ VECTOR: // placing it here would cause a collision with VECTOR defaults jmp vector_real - - -#endif // ROM layout diff --git a/c64/kernal/memory/fe25.memtop.s b/c64/kernal/memory/fe25.memtop.s index a5bf1602..53685389 100644 --- a/c64/kernal/memory/fe25.memtop.s +++ b/c64/kernal/memory/fe25.memtop.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -24,6 +26,3 @@ memtop_set: // for compatibility reasons this has to start at $FE2D stx MEMSIZK+0 rts - - -#endif // ROM layout diff --git a/c64/kernal/memory/under_rom_routines.s b/c64/kernal/memory/under_rom_routines.s index a37ca4e7..25de7830 100644 --- a/c64/kernal/memory/under_rom_routines.s +++ b/c64/kernal/memory/under_rom_routines.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // IMPORTANT: // These routines lengths cannot be changed without changing @@ -68,6 +70,3 @@ memmap_allram_routine: __ram_routines_end: #endif // CONFIG_MEMORY_MODEL_60K - - -#endif // ROM layout diff --git a/c64/kernal/memory/vector_real.s b/c64/kernal/memory/vector_real.s index 7c9e62b3..1d5e379b 100644 --- a/c64/kernal/memory/vector_real.s +++ b/c64/kernal/memory/vector_real.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE vector_real: @@ -41,6 +43,3 @@ vector_end_loop: bpl vector_restore rts - - -#endif // ROM layout diff --git a/c64/kernal/panic.s b/c64/kernal/panic.s index c12318e6..aa37b876 100644 --- a/c64/kernal/panic.s +++ b/c64/kernal/panic.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Something terrible happened - show the panic screen @@ -73,6 +75,3 @@ kernal_panic_infinite_loop: bne kernal_panic_infinite_loop // branch always #endif // CONFIG_PANIC_SCREEN - - -#endif // ROM layout diff --git a/c64/kernal/print/print_features.s b/c64/kernal/print/print_features.s index 264d6b68..c4b4c0ae 100644 --- a/c64/kernal/print/print_features.s +++ b/c64/kernal/print/print_features.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print configured features on startup banner @@ -13,6 +15,3 @@ print_features: jmp print_kernal_message #endif // CONFIG_SHOW_FEATURES - - -#endif // ROM layout diff --git a/c64/kernal/print/print_hex_byte.s b/c64/kernal/print/print_hex_byte.s index 8b940ee2..5bcbbd34 100644 --- a/c64/kernal/print/print_hex_byte.s +++ b/c64/kernal/print/print_hex_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print the hex value in .A as two digits @@ -49,6 +51,3 @@ print_hex_byte: !: jmp JCHROUT #endif - - -#endif // ROM layout diff --git a/c64/kernal/print/print_kernal_message.s b/c64/kernal/print/print_kernal_message.s index 848308b3..906ee939 100644 --- a/c64/kernal/print/print_kernal_message.s +++ b/c64/kernal/print/print_kernal_message.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print one of the standard Kernal messages, index in .X @@ -14,6 +16,3 @@ print_kernal_message: bpl !- // 0 marks end of string and #$7F jmp JCHROUT - - -#endif // ROM layout diff --git a/c64/kernal/print/print_pal_ntsc.s b/c64/kernal/print/print_pal_ntsc.s index 06ec137c..d005a63f 100644 --- a/c64/kernal/print/print_pal_ntsc.s +++ b/c64/kernal/print/print_pal_ntsc.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print video system on startup banner @@ -16,6 +18,3 @@ print_pal_ntsc: jmp print_kernal_message #endif // CONFIG_SHOW_PAL_NTSC - - -#endif // ROM layout diff --git a/c64/kernal/print/print_return.s b/c64/kernal/print/print_return.s index 856f7fdf..f9926e7d 100644 --- a/c64/kernal/print/print_return.s +++ b/c64/kernal/print/print_return.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print the carriage return @@ -7,6 +9,3 @@ print_return: lda #$0D // carriage return code jmp JCHROUT - - -#endif // ROM layout diff --git a/c64/kernal/print/print_space.s b/c64/kernal/print/print_space.s index 2194d90e..374873f5 100644 --- a/c64/kernal/print/print_space.s +++ b/c64/kernal/print/print_space.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Print the space character @@ -7,6 +9,3 @@ print_space: lda #$20 // space code jmp JCHROUT - - -#endif // ROM layout diff --git a/c64/kernal/print/printf.s b/c64/kernal/print/printf.s index 6c8bba6d..42934867 100644 --- a/c64/kernal/print/printf.s +++ b/c64/kernal/print/printf.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // printf()-like routine for simplifying debugging @@ -142,6 +144,3 @@ printf_retreat: rts #endif // CONFIG_DBG_PRINTF - - -#endif // ROM layout diff --git a/c64/kernal/rom_revision/ff80.kernal_revision.s b/c64/kernal/rom_revision/ff80.kernal_revision.s index 9bdc83c3..74101501 100644 --- a/c64/kernal/rom_revision/ff80.kernal_revision.s +++ b/c64/kernal/rom_revision/ff80.kernal_revision.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // This byte (hex $FF80, dec 65408) identifies Kernal revision on several machines. Although not all @@ -63,6 +65,3 @@ kernal_revision: .byte $F0 // chosen not to conflict with anything known so far - - -#endif // ROM layout diff --git a/c64/kernal/rs232/chkin_rs232_up2400.s b/c64/kernal/rs232/chkin_rs232_up2400.s index 646a4b31..ea8edff1 100644 --- a/c64/kernal/rs232/chkin_rs232_up2400.s +++ b/c64/kernal/rs232/chkin_rs232_up2400.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CHKIN routine @@ -13,6 +15,3 @@ chkin_rs232: #endif // CONFIG_RS232_UP2400 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/chkin_rs232_up9600.s b/c64/kernal/rs232/chkin_rs232_up9600.s index 8072c372..c1ffd6cb 100644 --- a/c64/kernal/rs232/chkin_rs232_up9600.s +++ b/c64/kernal/rs232/chkin_rs232_up9600.s @@ -1,5 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CHKIN routine @@ -48,6 +49,3 @@ chkin_rs232_nochkin #endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/chrin_rs232_up2400.s b/c64/kernal/rs232/chrin_rs232_up2400.s index 4ac6c3dd..d11f6ca2 100644 --- a/c64/kernal/rs232/chrin_rs232_up2400.s +++ b/c64/kernal/rs232/chrin_rs232_up2400.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CHRIN routine @@ -13,6 +15,3 @@ chrin_rs232: #endif // CONFIG_RS232_UP2400 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/chrin_rs232_up9600.s b/c64/kernal/rs232/chrin_rs232_up9600.s index afc6e489..8ada792c 100644 --- a/c64/kernal/rs232/chrin_rs232_up9600.s +++ b/c64/kernal/rs232/chrin_rs232_up9600.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CHRIN routine @@ -42,6 +44,3 @@ XXX_DOGET4: #endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/chrout_rs232.s b/c64/kernal/rs232/chrout_rs232.s index 31938cf0..4ed361cf 100644 --- a/c64/kernal/rs232/chrout_rs232.s +++ b/c64/kernal/rs232/chrout_rs232.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CHROUT routine @@ -13,6 +15,3 @@ chrout_rs232: #endif // HAS_RS232 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/ckout_rs232_up2400.s b/c64/kernal/rs232/ckout_rs232_up2400.s index a526891e..40d1c374 100644 --- a/c64/kernal/rs232/ckout_rs232_up2400.s +++ b/c64/kernal/rs232/ckout_rs232_up2400.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CKOUT routine @@ -13,6 +15,3 @@ ckout_rs232: #endif // CONFIG_RS232_UP2400 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/ckout_rs232_up9600.s b/c64/kernal/rs232/ckout_rs232_up9600.s index 4c6a6535..3e36affb 100644 --- a/c64/kernal/rs232/ckout_rs232_up9600.s +++ b/c64/kernal/rs232/ckout_rs232_up9600.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CKOUT routine @@ -22,6 +24,3 @@ ckout_rs232: #endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/close_rs232.s b/c64/kernal/rs232/close_rs232.s index c270f473..7a254c8d 100644 --- a/c64/kernal/rs232/close_rs232.s +++ b/c64/kernal/rs232/close_rs232.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the CLOSE routine @@ -41,6 +43,3 @@ close_rs232_end: #endif // HAS_RS232 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/getin_rs232.s b/c64/kernal/rs232/getin_rs232.s index b6a01d29..c1b01556 100644 --- a/c64/kernal/rs232/getin_rs232.s +++ b/c64/kernal/rs232/getin_rs232.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the GETIN routine @@ -13,6 +15,3 @@ getin_rs232: #endif // HAS_RS232 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/open_rs232.s b/c64/kernal/rs232/open_rs232.s index 864d8487..06c08e65 100644 --- a/c64/kernal/rs232/open_rs232.s +++ b/c64/kernal/rs232/open_rs232.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RS-232 part of the OPEN routine @@ -59,6 +61,3 @@ open_rs232_end: #endif // HAS_RS232 - - -#endif // ROM layout diff --git a/c64/kernal/rs232/rs232_count_channels.s b/c64/kernal/rs232/rs232_count_channels.s index 1ff4cb8a..49379a81 100644 --- a/c64/kernal/rs232/rs232_count_channels.s +++ b/c64/kernal/rs232/rs232_count_channels.s @@ -1,30 +1,29 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Sets .X to number of open RS-232 channels -// - - -#if HAS_RS232 - - -rs232_count_channels: - - ldx #$00 - ldy LDTND -!: - dey - bmi close_rs232_search_done - lda FAT, y - cmp #$02 - bne !- - inx - bpl !- // branch always - - rts - - -#endif - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Sets .X to number of open RS-232 channels +// + + +#if HAS_RS232 + + +rs232_count_channels: + + ldx #$00 + ldy LDTND +!: + dey + bmi close_rs232_search_done + lda FAT, y + cmp #$02 + bne !- + inx + bpl !- // branch always + + rts + + +#endif diff --git a/c64/kernal/rs232/up9600_disable.s b/c64/kernal/rs232/up9600_disable.s index 603a246f..44d6691f 100644 --- a/c64/kernal/rs232/up9600_disable.s +++ b/c64/kernal/rs232/up9600_disable.s @@ -1,48 +1,46 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Disable UP9600 interface -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_disable: // XXX adapt - - // XXX restore interrupt vectors and IRQ timer - - sei - lda CIA2_PRB // $DD01; DISABLE RTS - and #$FD - sta CIA2_PRB // $DD01 - lda #$7F - sta CIA2_ICR // $DD0D ; DISABLE ALL CIA INTERRUPTS - sta CIA1_ICR // $DC0D - lda #$41; QUICK (AND DIRTY) HACK TO SWITCH BACK - sta CIA1_TIMAHI // $DC05 ; TO THE DEFAULT CIA1 CONFIGURATION - lda #$81 - sta CIA1_ICR // $DC0D ; ENABLE TIMER1 (THIS IS DEFAULT) - lda #ORIGIRQ - sta IRQVECT+1 - lda #ORIGNMI - sta NMIVECT+1 - cli - pla - tay - pla - tax - pla - - - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Disable UP9600 interface +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_disable: // XXX adapt + + // XXX restore interrupt vectors and IRQ timer + + sei + lda CIA2_PRB // $DD01; DISABLE RTS + and #$FD + sta CIA2_PRB // $DD01 + lda #$7F + sta CIA2_ICR // $DD0D ; DISABLE ALL CIA INTERRUPTS + sta CIA1_ICR // $DC0D + lda #$41; QUICK (AND DIRTY) HACK TO SWITCH BACK + sta CIA1_TIMAHI // $DC05 ; TO THE DEFAULT CIA1 CONFIGURATION + lda #$81 + sta CIA1_ICR // $DC0D ; ENABLE TIMER1 (THIS IS DEFAULT) + lda #ORIGIRQ + sta IRQVECT+1 + lda #ORIGNMI + sta NMIVECT+1 + cli + pla + tay + pla + tax + pla + + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_enable.s b/c64/kernal/rs232/up9600_enable.s index 96a1e893..2f9be6db 100644 --- a/c64/kernal/rs232/up9600_enable.s +++ b/c64/kernal/rs232/up9600_enable.s @@ -1,135 +1,134 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Enable UP9600 interface support -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_enable: // XXX adapt - - sei - - - - lda IRQVECT - cmp #ORIGIRQ - bne INSTERR; IRQ-VECTOR ALREADY CHANGED - lda NMIVECT - cmp #ORIGNMI - bne INSTERR; NMI-VECTOR ALREADY CHANGED - ldy #0 - sty RODBE - sty RODBS - sty RIDBE - sty RIDBS - ; PROBE FOR RS232 INTERFACE - cli - lda #$7F - sta CIA2_ICR // $DD0D ; DISABLE ALL NMIS - lda #$80 - sta CIA2_DDRB // $DD03 ; PB7 USED AS OUTPUT - sta $DD0E; STOP TIMERA - sta CIA2_CRB // $DD0F ; STOP TIMERB - bit CIA2_ICR // $DD0D ; CLEAR PENDING INTERRUPTS - ldx #8 -INSTALL2 - stx CIA2_PRB // $DD01; TOGGLE TXD - sta CIA2_PRB // $DD01; AND LOOK IF IT TRIGGERS AN - dex; SHIFT-REGISTER INTERRUPT - bne INSTALL2 - lda CIA2_ICR // $DD0D ; CHECK FOR BIT3 (SDR-FLAG) - and #8 - beq INSTERR; NO INTERFACE DETECTED - ; GENERATE LOOKUP TABLE - ldx #0 -INSTALL3 - stx OUTSTAT; OUTSTAT USED AS TEMPORARY VARIABLE - ldy #8 -INSTALL4 - asl OUTSTAT - ror - dey - bne INSTALL4 - sta REVTAB,X - inx - bpl INSTALL3 - - - - - - sei - // XXX set NEWIRQ as IRQ vector - // XXX set NMIDOBIT as NMI vector - - ldx TVSFLG; PAL OR NTSC VERSION PRINT - lda ILOTAB,X; (KEYSCAN INTERRUPT ONCE EVERY 1/64 SECOND) - sta CIA1_TIMBLO // $DC06 ; (SORRY THIS WILL BREAK CODE, THAT USES - lda IHITAB,X; THE TI$ - VARIABLE) - sta CIA1_TIMBHI // $DC07 ; START VALUE FOR TIMER B (OF CIA1) - txa - asl - eor #$33; ** TIME CONSTANT FOR SENDER ** - ldx #0; 51 OR 55 DEPENDING ON PAL/NTSC VERSION - sta CIA1_TIMALO // $DC04 ; START VALUE FOR TIMERA (OF CIA1) - stx CIA1_TIMAHI // $DC05 ; (TIME IS AROUND 1/(2*BAUDRATE) ) - asl; ** TIME CONSTANT FOR RECEIVER ** - ora #1; 103 OR 111 DEPENDING ON PAL/NTSC VERSION - sta CIA2_TIMBLO // $DD06 ; START VALUE FOR TIMERB (OF CIA2) - stx CIA2_TIMBHI // $DD07 ; (TIME IS AROUND 1/BAUDRATE ) - lda #$41; START TIMERA OF CIA1, SP1 USED AS OUTPUT - sta CIA1_CRA // $DC0E ; GENERATES THE SENDER'S BIT CLOCK - lda #1 - sta OUTSTAT - sta CIA1_ICR // $DC0D ; DISABLE TIMERA (CIA1) INTERRUPT - sta CIA1_CRB // $DC0F ; START TIMERB OF CIA1 (GENERATES KEYSCAN IRQ) - lda #$92; STOP TIMERB OF CIA2 (ENABLE SIGNAL AT PB7) - sta CIA2_CRB // $DD0F - lda #$98 - bit CIA2_ICR // $DD0D ; CLEAR PENDING NMIS - sta CIA2_ICR // $DD0D ; ENABLE NMI (SDR AND FLAG) (CIA2) - lda #$8A - sta CIA1_ICR // $DC0D ; ENABLE IRQ (TIMERB AND SDR) (CIA1) - lda #$FF - sta CIA2_PRB // $DD01; PB0-7 DEFAULT TO 1 - sta CIA1_SDR // $DC0C ; SP1 DEFAULTS TO 1 - sec - lda RIDBE - sbc RIDBS - cmp #200 - bcc ENABLE2;; DON'T ENABLE RTS IF REC-BUFFER IS FULL - lda #2;; ENABLE RTS - sta CIA2_DDRB // $DD03 ;; (THE RTS LINE IS THE ONLY OUTPUT) -ENABLE2 - cli - pla - tay - pla - tax - pla - rts - - - - -INSTERR - cli - sec - rts - - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout \ No newline at end of file +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Enable UP9600 interface support +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_enable: // XXX adapt + + sei + + + + lda IRQVECT + cmp #ORIGIRQ + bne INSTERR; IRQ-VECTOR ALREADY CHANGED + lda NMIVECT + cmp #ORIGNMI + bne INSTERR; NMI-VECTOR ALREADY CHANGED + ldy #0 + sty RODBE + sty RODBS + sty RIDBE + sty RIDBS + ; PROBE FOR RS232 INTERFACE + cli + lda #$7F + sta CIA2_ICR // $DD0D ; DISABLE ALL NMIS + lda #$80 + sta CIA2_DDRB // $DD03 ; PB7 USED AS OUTPUT + sta $DD0E; STOP TIMERA + sta CIA2_CRB // $DD0F ; STOP TIMERB + bit CIA2_ICR // $DD0D ; CLEAR PENDING INTERRUPTS + ldx #8 +INSTALL2 + stx CIA2_PRB // $DD01; TOGGLE TXD + sta CIA2_PRB // $DD01; AND LOOK IF IT TRIGGERS AN + dex; SHIFT-REGISTER INTERRUPT + bne INSTALL2 + lda CIA2_ICR // $DD0D ; CHECK FOR BIT3 (SDR-FLAG) + and #8 + beq INSTERR; NO INTERFACE DETECTED + ; GENERATE LOOKUP TABLE + ldx #0 +INSTALL3 + stx OUTSTAT; OUTSTAT USED AS TEMPORARY VARIABLE + ldy #8 +INSTALL4 + asl OUTSTAT + ror + dey + bne INSTALL4 + sta REVTAB,X + inx + bpl INSTALL3 + + + + + + sei + // XXX set NEWIRQ as IRQ vector + // XXX set NMIDOBIT as NMI vector + + ldx TVSFLG; PAL OR NTSC VERSION PRINT + lda ILOTAB,X; (KEYSCAN INTERRUPT ONCE EVERY 1/64 SECOND) + sta CIA1_TIMBLO // $DC06 ; (SORRY THIS WILL BREAK CODE, THAT USES + lda IHITAB,X; THE TI$ - VARIABLE) + sta CIA1_TIMBHI // $DC07 ; START VALUE FOR TIMER B (OF CIA1) + txa + asl + eor #$33; ** TIME CONSTANT FOR SENDER ** + ldx #0; 51 OR 55 DEPENDING ON PAL/NTSC VERSION + sta CIA1_TIMALO // $DC04 ; START VALUE FOR TIMERA (OF CIA1) + stx CIA1_TIMAHI // $DC05 ; (TIME IS AROUND 1/(2*BAUDRATE) ) + asl; ** TIME CONSTANT FOR RECEIVER ** + ora #1; 103 OR 111 DEPENDING ON PAL/NTSC VERSION + sta CIA2_TIMBLO // $DD06 ; START VALUE FOR TIMERB (OF CIA2) + stx CIA2_TIMBHI // $DD07 ; (TIME IS AROUND 1/BAUDRATE ) + lda #$41; START TIMERA OF CIA1, SP1 USED AS OUTPUT + sta CIA1_CRA // $DC0E ; GENERATES THE SENDER'S BIT CLOCK + lda #1 + sta OUTSTAT + sta CIA1_ICR // $DC0D ; DISABLE TIMERA (CIA1) INTERRUPT + sta CIA1_CRB // $DC0F ; START TIMERB OF CIA1 (GENERATES KEYSCAN IRQ) + lda #$92; STOP TIMERB OF CIA2 (ENABLE SIGNAL AT PB7) + sta CIA2_CRB // $DD0F + lda #$98 + bit CIA2_ICR // $DD0D ; CLEAR PENDING NMIS + sta CIA2_ICR // $DD0D ; ENABLE NMI (SDR AND FLAG) (CIA2) + lda #$8A + sta CIA1_ICR // $DC0D ; ENABLE IRQ (TIMERB AND SDR) (CIA1) + lda #$FF + sta CIA2_PRB // $DD01; PB0-7 DEFAULT TO 1 + sta CIA1_SDR // $DC0C ; SP1 DEFAULTS TO 1 + sec + lda RIDBE + sbc RIDBS + cmp #200 + bcc ENABLE2;; DON'T ENABLE RTS IF REC-BUFFER IS FULL + lda #2;; ENABLE RTS + sta CIA2_DDRB // $DD03 ;; (THE RTS LINE IS THE ONLY OUTPUT) +ENABLE2 + cli + pla + tay + pla + tax + pla + rts + + + + +INSTERR + cli + sec + rts + + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_ihitab.s b/c64/kernal/rs232/up9600_ihitab.s index c0eb5793..43b53bd7 100644 --- a/c64/kernal/rs232/up9600_ihitab.s +++ b/c64/kernal/rs232/up9600_ihitab.s @@ -1,22 +1,21 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Timer values for PAL/NTSC - high bytes -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_ihitab: - - .byte $42 - .byte $40 - - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Timer values for PAL/NTSC - high bytes +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_ihitab: + + .byte $42 + .byte $40 + + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_ilotab.s b/c64/kernal/rs232/up9600_ilotab.s index e6fbf3a0..5492bedf 100644 --- a/c64/kernal/rs232/up9600_ilotab.s +++ b/c64/kernal/rs232/up9600_ilotab.s @@ -1,22 +1,21 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Timer values for PAL/NTSC - low bytes -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_ilotab: - - .byte $95 - .byte $25 - - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Timer values for PAL/NTSC - low bytes +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_ilotab: + + .byte $95 + .byte $25 + + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_irq.s b/c64/kernal/rs232/up9600_irq.s index f6dc79ac..b7e0be2a 100644 --- a/c64/kernal/rs232/up9600_irq.s +++ b/c64/kernal/rs232/up9600_irq.s @@ -1,44 +1,43 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// RS-232 IRQ handler part -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_irq: - - lda CIA1_ICR // $DC0D - - lsr - lsr // move bit 1 (timer B flag) into Carry - and #$02 // test SDR (shift register) status - - beq up9600_irq_continue - - ldx RINONE - beq !+ // skip if not waiting for empty SDR - dex - stx RINONE -!: - bcc up9600_irq_end - -up9600_irq_continue: - - rts - -up9600_irq_end: - - pla - pla - jmp return_from_interrupt - - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// RS-232 IRQ handler part +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_irq: + + lda CIA1_ICR // $DC0D + + lsr + lsr // move bit 1 (timer B flag) into Carry + and #$02 // test SDR (shift register) status + + beq up9600_irq_continue + + ldx RINONE + beq !+ // skip if not waiting for empty SDR + dex + stx RINONE +!: + bcc up9600_irq_end + +up9600_irq_continue: + + rts + +up9600_irq_end: + + pla + pla + jmp return_from_interrupt + + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_nmi.s b/c64/kernal/rs232/up9600_nmi.s index c9945ed3..ffe35c36 100644 --- a/c64/kernal/rs232/up9600_nmi.s +++ b/c64/kernal/rs232/up9600_nmi.s @@ -1,70 +1,69 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// RS-232 NMI handler part -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_nmi: - // XXX integrate with NMI handler - - pha - bit CIA2_ICR // $DD0D; check if CIA caused the interrupt - bpl NMIDOBI2; NO STARTBIT RECEIVED, THEN SKIP - lda #$13 - sta CIA2_CRB // $DD0F; START TIMER B (FORCED RELOAD, SIGNAL AT PB7) - sta CIA2_ICR // $DD0D; DISABLE TIMER AND FLAG INTERRUPTS - lda #NMIBYTRY - sta NMIVECT+1 -NMIDOBI2 - pla; IGNORE, IF NMI WAS TRIGGERED BY RESTORE-KEY - rti - ; -NMIBYTRY - pha - bit CIA2_ICR // $DD0D; CHECK BIT 7 (SDR FULL PRINT) - bpl NMIDOBI2; SDR NOT FULL, THEN SKIP (EG. RESTORE-KEY) - lda #$92 - sta CIA2_CRB // $DD0F; STOP TIMER B (KEEP SIGNALLING AT PB7!) - sta CIA2_ICR // $DD0D; ENABLE FLAG (AND TIMER) INTERRUPTS - lda #NMIDOBIT - sta NMIVECT+1 - phx_trash_a - phy_trash_a - lda CIA2_SDR // $DD0C; READ SDR (BIT0=DATABIT7,...,BIT7=DATABIT0) - cmp #128; MOVE BIT7 INTO CARRY-FLAG - and #127 - tax - lda REVTAB,X; READ DATABITS 1-7 FROM LOOKUP TABLE - adc #0; ADD DATABIT0 - ldy RIDBE; AND WRITE IT INTO THE RECEIVE BUFFER - sta (RIBUF),Y - iny - sty RIDBE - sec;;START BUFFER FULL CHK - tya - sbc RIDBS - cmp #200 - bcc NMIBYTR2 - lda CIA2_PRB // $DD01;; MORE THAN 200 BYTES IN THE RECEIVE BUFFER - and #$FD;; THEN DISABLE RTS - sta CIA2_PRB // $DD01 -NMIBYTR2 - ply_trash_a - plx_trash_a - pla - rti - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// RS-232 NMI handler part +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_nmi: + // XXX integrate with NMI handler + + pha + bit CIA2_ICR // $DD0D; check if CIA caused the interrupt + bpl NMIDOBI2; NO STARTBIT RECEIVED, THEN SKIP + lda #$13 + sta CIA2_CRB // $DD0F; START TIMER B (FORCED RELOAD, SIGNAL AT PB7) + sta CIA2_ICR // $DD0D; DISABLE TIMER AND FLAG INTERRUPTS + lda #NMIBYTRY + sta NMIVECT+1 +NMIDOBI2 + pla; IGNORE, IF NMI WAS TRIGGERED BY RESTORE-KEY + rti + ; +NMIBYTRY + pha + bit CIA2_ICR // $DD0D; CHECK BIT 7 (SDR FULL PRINT) + bpl NMIDOBI2; SDR NOT FULL, THEN SKIP (EG. RESTORE-KEY) + lda #$92 + sta CIA2_CRB // $DD0F; STOP TIMER B (KEEP SIGNALLING AT PB7!) + sta CIA2_ICR // $DD0D; ENABLE FLAG (AND TIMER) INTERRUPTS + lda #NMIDOBIT + sta NMIVECT+1 + phx_trash_a + phy_trash_a + lda CIA2_SDR // $DD0C; READ SDR (BIT0=DATABIT7,...,BIT7=DATABIT0) + cmp #128; MOVE BIT7 INTO CARRY-FLAG + and #127 + tax + lda REVTAB,X; READ DATABITS 1-7 FROM LOOKUP TABLE + adc #0; ADD DATABIT0 + ldy RIDBE; AND WRITE IT INTO THE RECEIVE BUFFER + sta (RIBUF),Y + iny + sty RIDBE + sec;;START BUFFER FULL CHK + tya + sbc RIDBS + cmp #200 + bcc NMIBYTR2 + lda CIA2_PRB // $DD01;; MORE THAN 200 BYTES IN THE RECEIVE BUFFER + and #$FD;; THEN DISABLE RTS + sta CIA2_PRB // $DD01 +NMIBYTR2 + ply_trash_a + plx_trash_a + pla + rti + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_rsin.s b/c64/kernal/rs232/up9600_rsin.s index 8151d338..67cb5f93 100644 --- a/c64/kernal/rs232/up9600_rsin.s +++ b/c64/kernal/rs232/up9600_rsin.s @@ -1,47 +1,46 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Get byte from serial interface -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_rsin: - - ldy RIDBS - cpy RIDBE - beq up9600_rsin_end; // skip (empty buffer, return with carry set) - - lda (RIBUF),Y - iny - sty RIDBS - pha // begin buffer emptying chk - tya - sec - sbc RIDBE - cmp #206 // 256-50 - bcc !+ - lda #$02 - ora CIA2_PR // $DD01 - sta CIA2_PR // enable RTS - clc - - // FALLTROUGH - -!: - pla - - // FALLTROUGH - -up9600_rsin_end: - - rts - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Get byte from serial interface +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_rsin: + + ldy RIDBS + cpy RIDBE + beq up9600_rsin_end; // skip (empty buffer, return with carry set) + + lda (RIBUF),Y + iny + sty RIDBS + pha // begin buffer emptying chk + tya + sec + sbc RIDBE + cmp #206 // 256-50 + bcc !+ + lda #$02 + ora CIA2_PR // $DD01 + sta CIA2_PR // enable RTS + clc + + // FALLTROUGH + +!: + pla + + // FALLTROUGH + +up9600_rsin_end: + + rts + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/rs232/up9600_rsout.s b/c64/kernal/rs232/up9600_rsout.s index 93b847e8..0efed7f4 100644 --- a/c64/kernal/rs232/up9600_rsout.s +++ b/c64/kernal/rs232/up9600_rsout.s @@ -1,60 +1,59 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - -// -// Put byte to serial interface -// - -// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations - - -#if CONFIG_RS232_UP9600 - - -up9600_rsout: - - pha - sta $9E // XXX synchronize with aliases - cmp #$80 - and #$7F - stx $A8 // XXX synchronize with aliases - sty $A7 // XXX synchronize with aliases - tax - jsr up9600_rsout_time - - lda REVTAB, x - adc #$00 - lsr - sei - sta CIA1_SDR // $DC0C - lda #$02 - STA XXX_OUTSTAT - ror - ora #$7F - sta CIA1_SDR // $DC0C - cli - ldx $A8 // XXX synchronize with aliases - ldy $A7 // XXX synchronize with aliases - pla - rts - -up9600_rsout_time: - - cli - lda #$FD - sta TIME+2 // XXX check if this is the lowest byte - -rs232_rsout_wait: - - lda XXX_OUTSTAT - beq !+ - bit TIME+2 - bmi up9600_rsout_wait - -!: - jmp $F490 // XXX - - -#endif // CONFIG_RS232_UP9600 - - -#endif // ROM layout +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE + +// +// Put byte to serial interface +// + +// Based on UP9600 code by Daniel Dallman with Bo Zimmerman adaptations + + +#if CONFIG_RS232_UP9600 + + +up9600_rsout: + + pha + sta $9E // XXX synchronize with aliases + cmp #$80 + and #$7F + stx $A8 // XXX synchronize with aliases + sty $A7 // XXX synchronize with aliases + tax + jsr up9600_rsout_time + + lda REVTAB, x + adc #$00 + lsr + sei + sta CIA1_SDR // $DC0C + lda #$02 + STA XXX_OUTSTAT + ror + ora #$7F + sta CIA1_SDR // $DC0C + cli + ldx $A8 // XXX synchronize with aliases + ldy $A7 // XXX synchronize with aliases + pla + rts + +up9600_rsout_time: + + cli + lda #$FD + sta TIME+2 // XXX check if this is the lowest byte + +rs232_rsout_wait: + + lda XXX_OUTSTAT + beq !+ + bit TIME+2 + bmi up9600_rsout_wait + +!: + jmp $F490 // XXX + + +#endif // CONFIG_RS232_UP9600 diff --git a/c64/kernal/screen/chrout_screen.s b/c64/kernal/screen/chrout_screen.s index 7886c080..356816d0 100644 --- a/c64/kernal/screen/chrout_screen.s +++ b/c64/kernal/screen/chrout_screen.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // CHROUT routine - screen support (character output) @@ -128,6 +130,3 @@ chrout_screen_done: jsr cursor_show_if_enabled jmp chrout_done_success - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_clr.s b/c64/kernal/screen/chrout_screen_clr.s index 3f3d2599..7da09ca6 100644 --- a/c64/kernal/screen/chrout_screen_clr.s +++ b/c64/kernal/screen/chrout_screen_clr.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // CLR key handling within CHROUT @@ -9,6 +11,3 @@ chrout_screen_CLR: jsr clear_screen jmp chrout_screen_calc_lptr_done - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_control.s b/c64/kernal/screen/chrout_screen_control.s index ad5cd563..7f93c521 100644 --- a/c64/kernal/screen/chrout_screen_control.s +++ b/c64/kernal/screen/chrout_screen_control.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // CHROUT routine - screen support, control codes @@ -67,6 +69,3 @@ chrout_try_color_loop: // Unknown code, or key not requiring any handling jmp chrout_screen_done - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_crsr.s b/c64/kernal/screen/chrout_screen_crsr.s index 9a076b44..cb276f41 100644 --- a/c64/kernal/screen/chrout_screen_crsr.s +++ b/c64/kernal/screen/chrout_screen_crsr.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Cursor keys handling within CHROUT @@ -54,6 +56,3 @@ chrout_screen_CRSR_LEFT: lda #39 sta PNTR bne chrout_screen_CRSR_done // branch always - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_del.s b/c64/kernal/screen/chrout_screen_del.s index 4bb659cf..5cfaaa07 100644 --- a/c64/kernal/screen/chrout_screen_del.s +++ b/c64/kernal/screen/chrout_screen_del.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // CHROUT routine - screen support, DEL key handling @@ -116,6 +118,3 @@ chrout_screen_del_column_0: // Finish with recalculating all the variables bne chrout_screen_del_done - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_gfxtxt.s b/c64/kernal/screen/chrout_screen_gfxtxt.s index f1e8486e..9f326e43 100644 --- a/c64/kernal/screen/chrout_screen_gfxtxt.s +++ b/c64/kernal/screen/chrout_screen_gfxtxt.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // GFX/TXT mode switch handling within CHROUT @@ -18,6 +20,3 @@ chrout_screen_TXT: lda VIC_YMCSB ora #$02 // to lower case bne !- // branch always - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_home.s b/c64/kernal/screen/chrout_screen_home.s index 6dc1c559..4f0e3d05 100644 --- a/c64/kernal/screen/chrout_screen_home.s +++ b/c64/kernal/screen/chrout_screen_home.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // HOME key handling within CHROUT @@ -9,6 +11,3 @@ chrout_screen_HOME: jsr cursor_home jmp chrout_screen_calc_lptr_done - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_ins.s b/c64/kernal/screen/chrout_screen_ins.s index f191564c..74be6b2a 100644 --- a/c64/kernal/screen/chrout_screen_ins.s +++ b/c64/kernal/screen/chrout_screen_ins.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // CHROUT routine - screen support, INS key handling @@ -92,6 +94,3 @@ chrout_screen_ins_copy_loop: // Return from loop rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_jumptable_codes.s b/c64/kernal/screen/chrout_screen_jumptable_codes.s index 4281f0fc..4e494b4d 100644 --- a/c64/kernal/screen/chrout_screen_jumptable_codes.s +++ b/c64/kernal/screen/chrout_screen_jumptable_codes.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Jumptable for screen control codes support. To improve performance, should be sorted @@ -121,6 +123,3 @@ chrout_screen_jumptable: .if (mod(*, $2) == 0) { nop } // make sure routine size is always the same, needed by build system #endif - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_quote.s b/c64/kernal/screen/chrout_screen_quote.s index 1ddd0c64..8bbe2440 100644 --- a/c64/kernal/screen/chrout_screen_quote.s +++ b/c64/kernal/screen/chrout_screen_quote.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // CHROUT routine - screen support, control codes in quote mode @@ -19,6 +21,3 @@ chrout_screen_quote: adc #$BF // C=1, so adding $BF + C = add $C0 !: jmp chrout_screen_literal - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_return.s b/c64/kernal/screen/chrout_screen_return.s index 40af4342..4148dda6 100644 --- a/c64/kernal/screen/chrout_screen_return.s +++ b/c64/kernal/screen/chrout_screen_return.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RETURN key handling within CHROUT @@ -28,6 +30,3 @@ chrout_screen_RETURN: jsr screen_calculate_PNT_USER !: jmp screen_advance_to_next_line - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_rvs.s b/c64/kernal/screen/chrout_screen_rvs.s index 283c2649..3cb679ae 100644 --- a/c64/kernal/screen/chrout_screen_rvs.s +++ b/c64/kernal/screen/chrout_screen_rvs.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // RVS ON/OFF handling within CHROUT @@ -16,6 +18,3 @@ chrout_screen_RVS_OFF: !: sta RVS jmp chrout_screen_done - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_shift_onoff.s b/c64/kernal/screen/chrout_screen_shift_onoff.s index b0e0ca57..7ecbbe2a 100644 --- a/c64/kernal/screen/chrout_screen_shift_onoff.s +++ b/c64/kernal/screen/chrout_screen_shift_onoff.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // SHIFT ON/OFF handling within CHROUT @@ -16,6 +18,3 @@ chrout_screen_SHIFT_OFF: lda #$80 // disable SHIFT+VENDOR combination bne !- // branch always - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_stop.s b/c64/kernal/screen/chrout_screen_stop.s index 7a96d3e1..3c638032 100644 --- a/c64/kernal/screen/chrout_screen_stop.s +++ b/c64/kernal/screen/chrout_screen_stop.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // STOP key handling within CHROUT @@ -17,6 +19,3 @@ chrout_screen_STOP: #endif - - -#endif // ROM layout diff --git a/c64/kernal/screen/chrout_screen_tab.s b/c64/kernal/screen/chrout_screen_tab.s index f07e8d61..13634dc9 100644 --- a/c64/kernal/screen/chrout_screen_tab.s +++ b/c64/kernal/screen/chrout_screen_tab.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tabulation keys handling within CHROUT @@ -38,6 +40,3 @@ chrout_screen_TAB_BW: #endif // CONFIG_EDIT_TABULATORS - - -#endif // ROM layout diff --git a/c64/kernal/screen/cursor.s b/c64/kernal/screen/cursor.s index f901e91a..15b460d2 100644 --- a/c64/kernal/screen/cursor.s +++ b/c64/kernal/screen/cursor.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Variables used: @@ -79,6 +81,3 @@ cursor_blink_timer_reset: cursor_blink_end: rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/cursor_enable.s b/c64/kernal/screen/cursor_enable.s index 9ea0c8ca..155f28b4 100644 --- a/c64/kernal/screen/cursor_enable.s +++ b/c64/kernal/screen/cursor_enable.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Variables used: @@ -7,9 +9,7 @@ cursor_enable: + lda #$00 sta BLNSW rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/cursor_show.s b/c64/kernal/screen/cursor_show.s index 2e66f5bf..e96987aa 100644 --- a/c64/kernal/screen/cursor_show.s +++ b/c64/kernal/screen/cursor_show.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Variables used: @@ -34,6 +36,3 @@ cursor_show: cursor_show_end: rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/e50a.plot.s b/c64/kernal/screen/e50a.plot.s index b3d9439b..e42d76c0 100644 --- a/c64/kernal/screen/e50a.plot.s +++ b/c64/kernal/screen/e50a.plot.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -33,6 +35,3 @@ plot_get: ldy PNTR ldx TBLX rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/e544.clear_screen.s b/c64/kernal/screen/e544.clear_screen.s index affc4f5f..e80029ca 100644 --- a/c64/kernal/screen/e544.clear_screen.s +++ b/c64/kernal/screen/e544.clear_screen.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Clear screen and initialise line link table, described in: @@ -29,6 +31,3 @@ clear_screen: // Fall to cursor home routine jmp cursor_home - - -#endif // ROM layout diff --git a/c64/kernal/screen/e566.cursor_home.s b/c64/kernal/screen/e566.cursor_home.s index b66ffb7c..0e22fe78 100644 --- a/c64/kernal/screen/e566.cursor_home.s +++ b/c64/kernal/screen/e566.cursor_home.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Home the cursor, described in: @@ -14,6 +16,3 @@ cursor_home: sta TBLX // current row // FALLTROUGH to the next routine - - -#endif // ROM layout diff --git a/c64/kernal/screen/e56c.screen_calculate_pointers.s b/c64/kernal/screen/e56c.screen_calculate_pointers.s index b82cdb47..591862c6 100644 --- a/c64/kernal/screen/e56c.screen_calculate_pointers.s +++ b/c64/kernal/screen/e56c.screen_calculate_pointers.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Set pointer (PNT) to current screen line , described in: @@ -14,6 +16,3 @@ screen_calculate_pointers: jsr screen_calculate_PNT_USER jmp screen_calculate_PNTR_LNMX - - -#endif // ROM layout diff --git a/c64/kernal/screen/e8ea.screen_scroll_up.s b/c64/kernal/screen/e8ea.screen_scroll_up.s index 169a0783..fb3f262e 100644 --- a/c64/kernal/screen/e8ea.screen_scroll_up.s +++ b/c64/kernal/screen/e8ea.screen_scroll_up.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Scroll the whole screen up by 1 logical line, described in: @@ -129,6 +131,3 @@ screen_scroll_up_loop_done: // Recalculate PNT and USER jmp screen_calculate_PNT_USER - - -#endif // ROM layout diff --git a/c64/kernal/screen/e9ff.screen_clear_line.s b/c64/kernal/screen/e9ff.screen_clear_line.s index 049b5a60..6dc1f915 100644 --- a/c64/kernal/screen/e9ff.screen_clear_line.s +++ b/c64/kernal/screen/e9ff.screen_clear_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Well-known routine, described in: @@ -33,6 +35,3 @@ screen_clear_line: // Done rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen.s b/c64/kernal/screen/screen.s index 1f2a4ec6..2d3611df 100644 --- a/c64/kernal/screen/screen.s +++ b/c64/kernal/screen/screen.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -19,5 +21,3 @@ SCREEN: ldx #40 // 40 rows rts - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_advance_to_next_line.s b/c64/kernal/screen/screen_advance_to_next_line.s index 73b0528c..c711e292 100644 --- a/c64/kernal/screen/screen_advance_to_next_line.s +++ b/c64/kernal/screen/screen_advance_to_next_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_advance_to_next_line: @@ -18,6 +20,3 @@ screen_advance_to_next_line: sta PNTR jmp chrout_screen_calc_lptr_done - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_calculate_pnt_user.s b/c64/kernal/screen/screen_calculate_pnt_user.s index 0e454f13..ce477aa3 100644 --- a/c64/kernal/screen/screen_calculate_pnt_user.s +++ b/c64/kernal/screen/screen_calculate_pnt_user.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Set pointers PNT and USER to current screen line @@ -51,6 +53,3 @@ screen_calculate_USER: sta USER+1 rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_calculate_pntr_lnmx.s b/c64/kernal/screen/screen_calculate_pntr_lnmx.s index b97e9251..7b4e7f5f 100644 --- a/c64/kernal/screen/screen_calculate_pntr_lnmx.s +++ b/c64/kernal/screen/screen_calculate_pntr_lnmx.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Sets PNTR in a proper range (0-39 or 40-79) @@ -59,6 +61,3 @@ screen_calculate_lnmx_79: lda #79 sta LNMX rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_check_space_ends_line.s b/c64/kernal/screen/screen_check_space_ends_line.s index 59cb427c..a482dc9e 100644 --- a/c64/kernal/screen/screen_check_space_ends_line.s +++ b/c64/kernal/screen/screen_check_space_ends_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_check_space_ends_line: @@ -9,6 +11,3 @@ screen_check_space_ends_line: cmp #$20 rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_code_to_petscii.s b/c64/kernal/screen/screen_code_to_petscii.s index 883afe85..7a76aae3 100644 --- a/c64/kernal/screen/screen_code_to_petscii.s +++ b/c64/kernal/screen/screen_code_to_petscii.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_code_to_petscii: @@ -36,6 +38,3 @@ s2p_adc_40: s2p_end: rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_get_cliped_pntr.s b/c64/kernal/screen/screen_get_cliped_pntr.s index 8db99846..761ffd92 100644 --- a/c64/kernal/screen/screen_get_cliped_pntr.s +++ b/c64/kernal/screen/screen_get_cliped_pntr.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Get PNTR value clipped to 0-39 range in .Y, sets flags to compare with 0, can trash .A @@ -15,6 +17,3 @@ screen_get_clipped_PNTR: !: cpy #$00 rts - - -#endif // ROM layout \ No newline at end of file diff --git a/c64/kernal/screen/screen_get_logical_line_end_ptr.s b/c64/kernal/screen/screen_get_logical_line_end_ptr.s index a0588006..e54bdd3d 100644 --- a/c64/kernal/screen/screen_get_logical_line_end_ptr.s +++ b/c64/kernal/screen/screen_get_logical_line_end_ptr.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_get_logical_line_end_ptr: @@ -24,6 +26,3 @@ screen_get_logical_line_end_39: ldy #39 rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_grow_logical_line.s b/c64/kernal/screen/screen_grow_logical_line.s index 65bc33f2..92654151 100644 --- a/c64/kernal/screen/screen_grow_logical_line.s +++ b/c64/kernal/screen/screen_grow_logical_line.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_grow_logical_line_done_scroll: @@ -139,6 +141,3 @@ screen_grow_logical_line_copy_done: inx jsr screen_clear_line jmp screen_calculate_PNTR_LNMX - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_off.s b/c64/kernal/screen/screen_off.s index 572e3394..154ce86f 100644 --- a/c64/kernal/screen/screen_off.s +++ b/c64/kernal/screen/screen_off.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routine to blank screen @@ -27,6 +29,3 @@ screen_off: #endif - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_on.s b/c64/kernal/screen/screen_on.s index 508355ce..24e70a1b 100644 --- a/c64/kernal/screen/screen_on.s +++ b/c64/kernal/screen/screen_on.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Helper routine to show screen @@ -17,6 +19,3 @@ screen_on: rts #endif - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_preserve_sal_eal.s b/c64/kernal/screen/screen_preserve_sal_eal.s index 25e37c94..e4f7f55f 100644 --- a/c64/kernal/screen/screen_preserve_sal_eal.s +++ b/c64/kernal/screen/screen_preserve_sal_eal.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_preserve_sal_eal: @@ -30,6 +32,3 @@ screen_common_sal_eal: phy_trash_a phx_trash_a rts - - -#endif // ROM layout diff --git a/c64/kernal/screen/screen_restore_sal_eal.s b/c64/kernal/screen/screen_restore_sal_eal.s index ad46c66e..fd8648c5 100644 --- a/c64/kernal/screen/screen_restore_sal_eal.s +++ b/c64/kernal/screen/screen_restore_sal_eal.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE screen_restore_sal_eal: @@ -24,7 +26,4 @@ screen_restore_sal_eal: sta SAL+0 jmp screen_common_sal_eal - - - #endif // ROM layout \ No newline at end of file diff --git a/c64/kernal/tape/load_tape_normal.s b/c64/kernal/tape/load_tape_normal.s index 1d4f18b4..37b815a7 100644 --- a/c64/kernal/tape/load_tape_normal.s +++ b/c64/kernal/tape/load_tape_normal.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (normal) part of the LOAD routine @@ -120,6 +122,3 @@ load_tape_normal_payload: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/load_tape_turbo.s b/c64/kernal/tape/load_tape_turbo.s index 44af58c9..d5b43db1 100644 --- a/c64/kernal/tape/load_tape_turbo.s +++ b/c64/kernal/tape/load_tape_turbo.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) part of the LOAD routine @@ -129,6 +131,3 @@ load_tape_turbo_loop: #endif // CONFIG_TAPE_TURBO - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_common.s b/c64/kernal/tape/tape_common.s index 4f99c6e8..e2461a05 100644 --- a/c64/kernal/tape/tape_common.s +++ b/c64/kernal/tape/tape_common.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Common routines for tape support @@ -305,6 +307,3 @@ tape_load_error: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_common_clean_sid.s b/c64/kernal/tape/tape_common_clean_sid.s index f054e91b..80b4bbee 100644 --- a/c64/kernal/tape/tape_common_clean_sid.s +++ b/c64/kernal/tape/tape_common_clean_sid.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Clear the SID settings - for sound effects during LOAD @@ -21,6 +23,3 @@ tape_clean_sid: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_common_ditch_verify.s b/c64/kernal/tape/tape_common_ditch_verify.s index 8fee8722..3fa1fcbb 100644 --- a/c64/kernal/tape/tape_common_ditch_verify.s +++ b/c64/kernal/tape/tape_common_ditch_verify.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Check if VERIFY asked - if yes, terminate loading @@ -20,6 +22,3 @@ tape_ditch_verify: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_common_motor.s b/c64/kernal/tape/tape_common_motor.s index 2526f062..f88934da 100644 --- a/c64/kernal/tape/tape_common_motor.s +++ b/c64/kernal/tape/tape_common_motor.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Handle tape deck motor @@ -24,6 +26,3 @@ tape_motor_on: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_common_prepare_cia.s b/c64/kernal/tape/tape_common_prepare_cia.s index d9f962f1..113dc339 100644 --- a/c64/kernal/tape/tape_common_prepare_cia.s +++ b/c64/kernal/tape/tape_common_prepare_cia.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE #if CONFIG_TAPE_NORMAL || CONFIG_TAPE_TURBO @@ -25,6 +27,3 @@ tape_common_prepare_cia: rts #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_common_screen.s b/c64/kernal/tape/tape_common_screen.s index 61f25877..fe2742ac 100644 --- a/c64/kernal/tape/tape_common_screen.s +++ b/c64/kernal/tape/tape_common_screen.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Handle screen (visible/blanked) + tape deck motor (on/off), @@ -35,6 +37,3 @@ tape_screen_off_motor_on: jmp tape_motor_on #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_get_bit.s b/c64/kernal/tape/tape_normal_get_bit.s index fdd29b0e..a092daa1 100644 --- a/c64/kernal/tape/tape_normal_get_bit.s +++ b/c64/kernal/tape/tape_normal_get_bit.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (normal) helper routine - bit reading @@ -56,6 +58,3 @@ tape_normal_get_bit_error: #endif // CONFIG_TAPE_NORMAL - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_get_byte.s b/c64/kernal/tape/tape_normal_get_byte.s index 94634a65..98c98ee1 100644 --- a/c64/kernal/tape/tape_normal_get_byte.s +++ b/c64/kernal/tape/tape_normal_get_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (normal) helper routine - byte reading @@ -69,6 +71,3 @@ tape_normal_get_byte_error: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_get_data.s b/c64/kernal/tape/tape_normal_get_data.s index 498113bf..d93c7de5 100644 --- a/c64/kernal/tape/tape_normal_get_data.s +++ b/c64/kernal/tape/tape_normal_get_data.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (normal) helper routine - data block reading @@ -72,6 +74,3 @@ tape_normal_get_block_done: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_get_marker.s b/c64/kernal/tape/tape_normal_get_marker.s index fbe40095..4106214c 100644 --- a/c64/kernal/tape/tape_normal_get_marker.s +++ b/c64/kernal/tape/tape_normal_get_marker.s @@ -1,5 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (normal) helper routine - marker reading @@ -23,6 +24,3 @@ tape_normal_get_marker: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_get_pulse.s b/c64/kernal/tape/tape_normal_get_pulse.s index 95d9e939..ac4a1f02 100644 --- a/c64/kernal/tape/tape_normal_get_pulse.s +++ b/c64/kernal/tape/tape_normal_get_pulse.s @@ -1,5 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (normal) helper routine - pulse reading @@ -41,6 +42,3 @@ tape_normal_get_pulse: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_pilot.s b/c64/kernal/tape/tape_normal_pilot.s index 28b461a6..d4664671 100644 --- a/c64/kernal/tape/tape_normal_pilot.s +++ b/c64/kernal/tape/tape_normal_pilot.s @@ -1,5 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) - +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - handling the pilot @@ -72,6 +73,3 @@ tape_normal_pilot_header: // require 128x $40 pulses #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_normal_sync.s b/c64/kernal/tape/tape_normal_sync.s index b24a0b9a..95b46cb5 100644 --- a/c64/kernal/tape/tape_normal_sync.s +++ b/c64/kernal/tape/tape_normal_sync.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - synchronization handling @@ -36,6 +38,3 @@ tape_normal_sync_fail: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_turbo_bytestore.s b/c64/kernal/tape/tape_turbo_bytestore.s index 09f793b7..aa70358c 100644 --- a/c64/kernal/tape/tape_turbo_bytestore.s +++ b/c64/kernal/tape/tape_turbo_bytestore.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - storing byte uder I/O @@ -39,6 +41,3 @@ __tape_turbo_bytestore_source_end: #endif // CONFIG_TAPE_TURBO - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_turbo_get_bit.s b/c64/kernal/tape/tape_turbo_get_bit.s index ccd16571..baba4ffb 100644 --- a/c64/kernal/tape/tape_turbo_get_bit.s +++ b/c64/kernal/tape/tape_turbo_get_bit.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - bit reading @@ -54,6 +56,3 @@ tape_turbo_get_bit: #endif // CONFIG_TAPE_TURBO - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_turbo_get_byte.s b/c64/kernal/tape/tape_turbo_get_byte.s index 9c2c22a6..055bbf0e 100644 --- a/c64/kernal/tape/tape_turbo_get_byte.s +++ b/c64/kernal/tape/tape_turbo_get_byte.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - byte reading @@ -29,6 +31,3 @@ tape_turbo_get_byte: #endif // CONFIG_TAPE_TURBO - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_turbo_sync.s b/c64/kernal/tape/tape_turbo_sync.s index 2e2fc2ae..13832761 100644 --- a/c64/kernal/tape/tape_turbo_sync.s +++ b/c64/kernal/tape/tape_turbo_sync.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - synchronization handling @@ -113,6 +115,3 @@ tape_turbo_sync_payload: #endif // CONFIG_TAPE_TURBO - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_turbo_sync_first.s b/c64/kernal/tape/tape_turbo_sync_first.s index 2d7bc533..cbd63db4 100644 --- a/c64/kernal/tape/tape_turbo_sync_first.s +++ b/c64/kernal/tape/tape_turbo_sync_first.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - syynchronize to first byte with value $02 @@ -19,6 +21,3 @@ tape_turbo_sync_first: #endif - - -#endif // ROM layout diff --git a/c64/kernal/tape/tape_turbo_sync_measure.s b/c64/kernal/tape/tape_turbo_sync_measure.s index d68349db..6257ec6f 100644 --- a/c64/kernal/tape/tape_turbo_sync_measure.s +++ b/c64/kernal/tape/tape_turbo_sync_measure.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Tape (turbo) helper routine - measure bit length for calibration purposes @@ -41,6 +43,3 @@ tape_turbo_sync_measure_fail: #endif - - -#endif // ROM layout diff --git a/c64/kernal/time/rdtim.s b/c64/kernal/time/rdtim.s index 19916b2e..0271acb3 100644 --- a/c64/kernal/time/rdtim.s +++ b/c64/kernal/time/rdtim.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -25,6 +27,3 @@ RDTIM: // leaves IRQs enabled. cli rts - - -#endif // ROM layout diff --git a/c64/kernal/time/settim.s b/c64/kernal/time/settim.s index 2c919e01..7c07eb5c 100644 --- a/c64/kernal/time/settim.s +++ b/c64/kernal/time/settim.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -25,6 +27,3 @@ SETTIM: // leaves IRQs enabled. cli rts - - -#endif // ROM layout diff --git a/c64/kernal/time/udtim.s b/c64/kernal/time/udtim.s index 0374cfb6..9c75406f 100644 --- a/c64/kernal/time/udtim.s +++ b/c64/kernal/time/udtim.s @@ -1,4 +1,6 @@ -#if ROM_LAYOUT_STD || (ROM_LAYOUT_M65 && SEGMENT_KERNAL_0) +// #LAYOUT# STD * #TAKE +// #LAYOUT# * KERNAL_0 #TAKE +// #LAYOUT# * * #IGNORE // // Official Kernal routine, described in: @@ -44,6 +46,3 @@ udtim_clock_rollover: sta TIME+2 sta TIME+1 beq udtim_time_done // done with clock - will always jump - - -#endif // ROM layout diff --git a/src/build_segment.cc b/src/build_segment.cc index 2c281c43..643da112 100644 --- a/src/build_segment.cc +++ b/src/build_segment.cc @@ -639,7 +639,8 @@ void SourceFile::preprocess() while (std::getline(stream, line)) { if (line.empty()) continue; - std::replace(std::begin(line), std::end(line), '\t', ' '); + std::replace(line.begin(), line.end(), '\t', ' '); + line.erase(std::remove(line.begin(), line.end(), '\r'), line.end()); if (!preprocessLine(line)) break; } } @@ -693,7 +694,7 @@ bool SourceFile::preprocessLine(const std::string &line) } else if (iter->compare("#TAKE") != 0) { - ERROR("syntax error, unsupported action in '#LAYOUT#'"); + ERROR(std::string("syntax error, unsupported action '") + token + "' in '#LAYOUT#'"); } // Tell the caller to finish processing the file