This is a modified version of MEGA65 Open ROMs (https://github.com/MEGA65/open-roms), forked at upstream commit ad178dbe4d48cd6a317737a8e0e7e662f7e33d32. Modified by Christian Werner, 2026-10-14, 2026-10-15, 2026-10-17, and 2026-10-18, for the mc64 computers of arnitech, a set of Minecraft mods (https://git.susdog.de/chris/arnitech). The fork lives at https://git.susdog.de/chris/open-roms, branch mc64. Changes: - src/,,config_mc64.s: a new build configuration, copied from src/,,config_c64.s, with its own config ID ($6D), the brand "MC64", and BCD_SAFE_INTERRUPTS turned off. - Makefile: targets for that configuration, build/kernal_mc64.rom and build/basic_mc64.rom, made the same way as the c64 ones. - src/kernal/iec/ciout.s (2026-10-15): CIOUT buffers its byte in TBTCNT, where the send routine takes it from, not in BSOUR (upstream PR #113). - src/kernal/iec/close_iec.s (2026-10-15): CLOSE sends LISTEN, $E0 plus the secondary address, and UNLISTEN; it sent a command ORed with zero page $E0 and no LISTEN. - src/kernal/iec/chkin_iec.s, ckout_iec.s (2026-10-15): CHKIN and CHKOUT take the secondary address from SAT, not from LAT, the logical file numbers. - src/kernal/iec/tksa.s (2026-10-15): TKSA sends the secondary address it is given, without ORing $90 into it (upstream issue #116). - src/kernal/iec/iec_tx_byte.s (2026-10-15): a data byte that no listener holds DATA for sets ST to $80 (device not present) and returns, instead of waiting forever. - src/kernal/iec/close_iec.s (2026-10-15): a CLOSE that finds no device sets ST to $80 (device not present), and still frees the file number. - src/kernal/iec/unlsn.s, untlk.s (2026-10-15): UNLSN and UNTLK end with CLK, DATA, and ATN released; UNLSN left CLK pulled, and UNTLK waited for a talker to pull CLK, which after UNTALK none does, and then left CLK pulled. - src/kernal/iec/iec_return.s (2026-10-15): a serial routine that finds no device releases CLK, DATA, and ATN; it left CLK pulled. - src/,,config_mc64.s, src/aliases/,aliases_hardware_arnitech.s, src/kernal/arnitech/ (new), Makefile, src/kernal/init/fda3.ioinit.s, CONFIG.md (2026-10-17): a new option, ARNITECH_CONTROLLER, on in the mc64 configuration only. IOINIT sets CIA #1's TOD on 50 Hz and, if the Arnitech controller's signature is at $DE80, from the controller's clock. The Arnitech jump table at $FF00 wraps the controller's registers: "ARNI", a version, an entry count, and JMPs from $FF06 to find a Card by its type and to set the TOD. - assets/8x8font.png (2026-10-18): the first character set draws screen code 35, '#', as the second does; it was blank, and its reverse (163) not its inverse. - src/kernal/screen/chrout_to_screen_code.s (2026-10-18): CHROUT prints PETSCII $E0-$FE as screen codes $60-$7E and $FF (pi) as $5E, as a C64 does; it printed $A0-$BF. - src/kernal/init/e5a0.vicii_init.s, vicii_init_registers.s (new), src/kernal/keyboard/e5b4.* (new), src/kernal/screen/ea24.*, ecf0.* (new), src/kernal/screen/screen_calculate_pnt_user.s (2026-10-18): routines at $E5B4 (take a key from the keyboard buffer) and $EA24 (USER from PNT), and the screen lines' low bytes at $ECF0, where cc65's runtime and ip65 call and read them; vicii_init's work moves out of $E5A0-$E5C8 to make room. - src/,,config_mc64.s (2026-10-18): DOS_WEDGE on, TRANSCENDENTAL_FUNCTIONS off. - src/basic/wedge/wedge_dos.s (2026-10-18): a DOS command sent with @ prints the status the drive gives for it; closing every file first had reset it to OK. - src/kernal/iec/iec_tx_byte.s, iec_tx_command.s (2026-10-18): IRQs are disabled before CLK is released to send a byte; an IRQ in between could hide the listener's EOI acknowledgement and hang the transfer. - src/aliases/,aliases_hardware_arnitech.s, src/kernal/arnitech/arnitech_net.s (new), src/kernal/arnitech/ff00.arnitech_jumptable.s, CONFIG.md (2026-10-18): version 2 of the Arnitech jump table, with JMPs from $FF0C that reset a Network Card's CS8900A at the RR-Net socket, copy its MAC address, and send and receive Ethernet frames through it. - src/,,config_mc64blade.s (new), Makefile (2026-10-18): a second configuration, mc64blade, the Firmware of arnitech's Blades: the mc64 one with its own config ID ($6E), the brand "MC64 BLADE", no tape, programmable keys, joystick cursor, panic screen, or feature list, and ARNITECH_BLADE on; targets build/kernal_mc64blade.rom and build/basic_mc64blade.rom. - src/aliases/,aliases_hardware_arnitech.s, src/kernal/arnitech/arnitech_terminal.s, arnitech_native.s, arnitech_autoboot.s (new), src/kernal/screen/*, src/kernal/keyboard/*, src/kernal/init/*, src/kernal/iostack/e50a.plot.s, f157.chrin.s, f1ca.chrout.s, src/kernal/interrupts/*, src/kernal/time/udtim.s, src/kernal/iec/iec_wait1ms.s, src/basic/init/basic_cold_start_internal.s, src/basic/,imports.s, CONFIG.md (2026-10-18): a new option, ARNITECH_BLADE, on in the mc64blade configuration only. It leaves out the screen editor, the keyboard matrix scan, the VIC-II set-up, PAL detection, and the Cartridge checks; the screen and the keyboard are an Arnitech Terminal Card, the serial bus's 1 ms wait counts on CIA #1's timer B, CINT puts handlers for a 65816's native-mode interrupts under the KERNAL, and BASIC's cold start loads and runs the first program on device 8. - NOTICE: this file. The licence terms are unchanged; see LICENSE, COPYING, and COPYING.LESSER.